Python开发还在用virtualenv?不如了解下pipenv...

vins-mono前端详解(2)——imu预积分 本篇文章详细讲解了vins-mono中imu预积分内容,包括复杂的公式推导。 阅读详情
段子博主

早在之前公司写博客的时候就发现,相比于技术内容,大家更爱看我讲段子,现在开始写公众号了一样这个结局。总结知识的文章,没多少人看,瞎捣鼓手机的、一堆人关注...你们这么做真的好吗,是我的技术文章写得层次太低,还是段子讲的太有趣?我赵曰天不服啊!


5847426-518691ac182161a5.png
简书·喜欢和赞
年老体弱

今天西安下雨很凉快,吃完饭去理发,老板说你才剪的头又这么长了,人闲长头发肯定一天没事儿干吧。我想说自从搞公众号开始,已经连着一个多月天天2点多睡觉了。周五晚上休息还跟大学同学dota1搞通宵真的受不了,然后坐着理发睡着了...
一个多月的规律发现周六、周日两天的阅读量很差,大家放假都想着空调可乐加西瓜,啤酒鸡翅爆米花,没有几个人看公众号。所以吧,以后周六、周日就不更新了,保证一周五更。周末的时间腾出来学一些偏重自己喜好的知识,希望大家体谅。

又见 Kenneth Reitz
5847426-9bb40a93107dd45c.png
Kenneth Reitz

之前公众号写了一篇文章爬虫新宠requests_html 带你甄别2019虚假大学,其中主要是为了介绍模块requests_html,这个模块的作者还开发了requests模块,相当的犀利。没错,他就是==Kenneth Reitz==,一个被编程耽误的摄影师,哈哈,网上还有他的一些励志故事,喜欢的朋友可以去搜搜,个人比较崇拜他。那么,今天又要介绍他的另外一个牛13之作,pipenv

pipenv
介绍

过去大家经常使用virtualenv来创建虚拟环境,通过pip freeze生成requirements.txt文件,然后通过pip install -r requirements.txt进行项目模块的管理与安装。这样的安装存在很多问题,比如每次更新模块后,需要手动的重新生成依赖文件,等等问题。但看过今天的文章,你会更喜欢pipenv这款工具。

Pipenv: Python Development Workflow for Humans
Pipenv试图解决的问题是多方面的:

  • 您不再需要单独使用pip和使用virtualenv。他们一起工作。
  • 管理requirements.txt文件可能会有问题,因此Pipenv使用即将推出的文件Pipfile,Pipfile.lock而这对于基本用例来说是优越的。
  • 哈希总是随处可见。安全。自动暴露安全漏洞。
  • 让您深入了解您的依赖图(例如$ pipenv graph)。
  • 通过加载.env文件简化开发工作流程。

这哥们所有的库,都是for Humans,要不要上升这么高的高度...

pipenv安装

pip install pipenv即可轻松完成安装...
之后创建一个我们的项目目录并进入目录输入:pipenv install 创建目录对应的虚拟机。
虚拟机创建目录:

  • windows : %homepath%.virtualenvs\projectname-随机码
  • Linux\Mac: ~/.local/share/virtualenvs/projectname-随机码

虚拟机创建完成后,会在项目目录内生成两个包管理文件文件Pipfile、Pipfile.lock


5847426-aca9b91cd29d7b24.png
Pipfile
修改pip源

pipenv shell 进入虚拟机
之后线比急着下载模块,我们需要先修改pip源,因为默认的源官方源速度太慢且连接不稳定。网上说的什么命令行修改的,你趁早别用老老实实的进入Pipfile文件内部修改。

5847426-9f65c535f1ab341f.png
修改pip源

source的标红两个地方需要注意,我用的是阿里的镜像,所以verify_ssl无需修改,但是有些镜像是http协议的,你需要吧verify_ssl改为false,否则报错无法使用。

模块安装

我们看到PIPfile中有两个section标签,一个是dev-packages,一个是packages,这两个有什么区别呢?
pipenv install flask此时,我们安装的是packages
pipenv install watchdog --dev 此时,我们安装的是dev-packages
这两者有什么区别呢?比如我们在开发的过程中会引入一些工具,但这些工具在交付或者上线的时候无需安装,此时我们可以使用--dev的方式安装,而客户在初始化安装时使用pipenv install就不会将开发使用的模块剂型安装,针对环境进行模块分离,是否很犀利?

Pipfile.lock

刚才说到了Pipfile,那么Pipfile.lock这个文件又是干嘛的?
Pipfile.lock是一个json文件,详细记录了,我们安装的每一个模块及模块的详细信息,如:名称、版本、Hash值。这样安装卸载变得更为容易与准确。

模块依赖展示

这个功能是pipenv比较人性化的一个命令行。类似于npm list,会将我们安装的包进行依赖树展示,如下图:


5847426-78a6ee2c15a553ce.png
pipenv依赖树
项目迁移

我们之前使用的virtualenv,可以迁移至pipenv吗?
答案是肯定的,只需要先通过pipenv install -r requirements.txt将原有的模块进行迁移,之后使用
同样的,从pipenv迁移至virtualenv项目,也可以使用pipenv run pip freeze 生成requirements.txt。

.env介绍

在虚拟机中,我们的环境信息如何保存呢?比如邮箱,入口方法,等等...这时候我们需要使用到.env的文件。

命令集合
columncolumn
pipenv --where列出本地工程路径
pipenv --venv列出虚拟环境路径
pipenv --py列出虚拟环境的Python可执行文件
pipenv install创建虚拟环境
pipenv install [moduel]安装包
pipenv install [moduel] --dev安装包到开发环境
pipenv uninstall[module]卸载包
pipenv uninstall --all卸载所有包
pipenv graph查看包依赖
pipenv lock生成lockfile
pipenv run python [pyfile] 运行py文件
pipenv --rm删除虚拟环境
Flask使用pipenv
.flaskenv

我们在开发Flask项目时,需要创建.flaskenv的文件,用来设置我们的相关环境变量,比如:

FLASK_APP=phraces
FLASK_ENV=development

但在使用配置文件之前,我们首先需要安装pip install python-dotenv才能进行配置文件的读取操作。
当我们使用flask run命令启动flask程序时,系统会默认去寻找名为app.py的文件进行加载,但如果我们的启动文件是phraces.py时,该如何操作?
另外,当我们添加FLASK_ENV=development时,可以监控文件变动,进行动态reload操作。这就是.flaskenv的用途

pycharm运行pipenv

我们每次通过命令行去启动flask是否太过麻烦?能否直接通过pycharm来启动flask的pipenv呢?当然...只需要按照下图配置即可:


5847426-e62ed2c3e31fe767.png
pycharm配置pipenv

5847426-ad35777242ad4b72.png
pycharm启动
The End

OK,今天的内容就到这里,如果觉得内容对你有所帮助,欢迎点击文章右下角的“在看”。
期待你关注我的公众号清风Python,如果你觉得不错,希望能动动手指转发给你身边的朋友们。

狗都能看懂的MAML原理讲解和代码实现 meta-leaning指的是元学习,元学习是深度学习的一个分支,一个好的元模型(meta-learner)应该具备对新的、少量的数据做出快速而准确的学习。通俗的来讲, 对于人来说,给几张橘猫的图片让看一下,再给你几张没见过的英短猫图片,你一定能很快识别出来都是猫。但是对于神经网络来说,并非如此。如果让一个小汽车分类网络去识别不同的大货车,那效果肯定很差。而传统的CNN网络都是输入大量的数据,然后进行分类的学习。但是这样做的问题就是,神经网络的通用性太差了,根本达不到“智能”的标准。而人类的认知系统,可以通 阅读详情

相关推荐

Flutter版本升级踩坑实录:从3.27到3.35,我们是如何修复Impeller引擎导致的花屏问题的?

本文详细记录了团队在Flutter版本升级过程中遇到的Impeller引擎导致的花屏问题及解决方案。从问题诊断到最终升级至稳定版3.35,文章分享了排查步骤、升级策略和性能对比数据,为开发者提供了实用的参考经验。

weixin_26854555的博客 504

Python虚拟环境管理 之 virtualenv 和 pipenv

虚拟环境介绍 Python虚拟环境主要的目的就是为了给不用的工程创建互相独立的运行环境。在虚拟环境下,每一个工程都有自己的依赖包,而与其他的工程无关。不同的虚拟环境中通一个包可以有不同的版本。并且,虚拟环境的数量都没有限制,我们可以轻松的用 virtualenv 或者 pipenv等工具来创建多个虚拟环境。 virtualenv的安装和应用(windows) pip 安装 virtualenv pip安装虚拟换将管理包 vitualenvwrapper-win 创建一个存放虚拟环境的目录(建议命名为 .e

weixin_43865008的博客 2968

VIL-SLAM论文翻译:Stereo Visual Inertial LiDAR Simultaneous Localization and Mapping

文章目录写在前面摘要1.引言2.相关工作3.系统概述4.视觉前端5.双目视觉惯性里程计A. IMU预积分因子B. 非结构化视觉因子C. 优化和边缘化6. 激光建图A. LiDAR扫描去畸变B. 帧到地图配准7. LiDAR增强的闭环A. 回环检测B. 回环约束C. 全局位姿图优化D. 重定位8. 实验结果A.平台和软件B.测试和结果C. EuRoCMAV数据集测试9.结论 写在前面 写作参考: robot L 开源代码: 开源代码链接 论文原文: 原文链接 摘要 SLAM是移动和空中机器人的一项基本任务

JaydenQ的博客 2321

Python虚拟环境:Virtualenv和Pipenv的安装理解与使用

Python虚拟环境:Virtualenv和Pipenv的安装理解与使用

4.0啊的博客 1841

RagFlow 文档解析

RAGFlow 的设计哲学是“高质量输入,高质量输出”,它通过提供可解释性和可控性的生成结果,让用户能够信任并依赖于系统提供的答案。

weixin_43008312的博客 3999

【智能车Code review】——小S与中S道路判断

基本思想: 找到中线的左拐点和右拐点,并且计算出两点之间的空间距离。通过限制空间距离,分为中S和小S。 注意这种情况:当20行以下的中线斜率比较陡,此时可以通过人为限制设定,将第0行的中线设置为拐点。 if (flag_centre_right_point == 0 && flag_centre_left_point == 1 && parameterB >= 0.5 && centre_left_point[0] >= 33) { .

hanhan的博客 6104

2024年Python最全全国计算机等级考试二级Python考试大纲

这是我花了几天的时间去把Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。1. 程序的基本语法元素:程序的格式框架、缩进、注释、变量、命名、保留字、数据类型、赋值 语句、引用。

2401_84692141的博客 4039

NVIDIA Isaac ROS - 入门教程(一)

欢迎访问 Isaac ROS,这是一套硬件加速、高性能、低延迟的 ROS 2 软件包,用于制造自主机器人,充分利用 Jetson 和其他英伟达平台的强大功能。英伟达 Jetson 平台运行在基于 Ubuntu Linux 的 JetPack 操作系统上。JetPack 5.x 是在 Ubuntu 20.04 Focal 的基础上构建的,这意味着由 ROS 2 Buildfarm 为 Ubuntu 22.04 Jammy 构建的 ROS 2 Humble 的 Debian 包不受支持。由于官方 ROS 2 B

机器人控制与仿真应用 5721

Python虚拟环境virtualenv&Pipenv

照例的唠叨: 在开发不同的项目时,用到的Python版本不一样,或者用到的库不一样但import时名称相同,或者用到的是同一个库但是版本不同且存在兼容问题,怎么办呢。 在没有引入虚拟环境时,前者好解决,可以选择运行时的Python解释器,后两者就尴尬了,只能先uninstall一个,再install一个,这个体验好差; 项目开发完成后,生成项目所依赖的库。 项目A使用了M1,项目B使用了库M2,...

小桔的博客 3804

windows exe爬虫:exe抓包

在不知情所拦截应用使用的流量时,所以建议用Wireshark。本文利用python代码,实现自动拦截,写入pcap包,并用代码分析流量的协议。这样会在本地目录下生成capture_inbound.pcap,可以用wireshark分析,也可以利用python代码进行分析,如果使用python代码进行分析,需要借助pyshark或者scapy。使用的python WinDivert的包,当然前提也是需要安装Wireshark软件,设置环境变量,并安装pydirvert包。

youbingchen的博客 617

MATLAB - 浮动基座机器人的逆运动学

本例演示如何解决以浮动底座为模型的机器人的逆运动学问题。浮动底座机器人可以在空间中自由平移和旋转,具有六个自由度。浮动基座机器人的逆运动学问题适用于空间应用,即使用安装在浮动和致动基座上的机械臂在空间操纵物体,也适用于躯干和腿部可在空间自由移动的行走机器人。请注意,刚体树对象表示具有固定基体的刚体树。这意味着刚体树的基体在世界中具有固定的位置和方向。您可以在基体上附加一个 “浮动 ”类型的刚体关节,为具有浮动基体的机器人建模,以用于动态模拟等某些应用。

机器人控制与仿真应用 2440

Python进阶教程丨虚拟环境搭建

举一个不恰当的例子:老渣的微信里面有同事,同学还有小美 ABCDE,某天给妹子发“宝贝晚安”消息时误发给了同事……部分原因是因为用一个微信处理不同的场景导致容易出错。这件事情后,老渣的解决方法也很简单,就是微信多开,再创建一个号,账号数据独立,工作生活两不误。话说回来,当我们开发项目时,如果共用环境也容易出现问题,那么创建独立的环境就能很好的解决问题。

凌小添的博客 5783

如何用 Claude Code 做代码重构,而不是重写

摘要: 在使用Claude Code进行代码优化时,AI容易“重写”而非“重构”,导致改动过大、review困难。本文提出3个关键约束方法:1)限制修改范围(如仅修改指定函数);2)明确不改变代码行为;3)要求最小必要修改。通过分步骤重构、先获取重构建议再修改、使用标准模板(保持函数签名/输入输出/结构不变)等方式,可使AI输出更符合工程需求的小范围安全重构。对于彻底混乱的代码,才建议直接重写。核心在于通过提示词精准约束AI的修改行为,将其转化为高效的代码重构助手。

sg_knight的专栏 981

Python开发还在用virtualenv?是时候了解下pipenv了

又见 Kenneth Reitz Kenneth Reitz 之前公众号写了一篇文章爬虫新宠requests_html 带你甄别2019虚假大学,其中主要是为了介绍模块requests_html,这个模块的作者还开发了requests模块,相当的犀利。没错,他就是==Kenneth Reitz==,一个被编程耽误的摄影师,哈哈,网上还有他的一些励志故事,喜欢的朋友可以去...

清风Python 386

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

pycharm virtualenv_Python开发还在用virtualenv?是时候了解下更犀利的pipenv了

作者丨王翔丨来源丨清风Python(BreezePython) 又见 Kenneth ReitzKenneth Reitz提到Kenneth Reitz,相信大家会觉得陌生,但如果告诉你requests模块是这位大佬开发的,你还会对他感到陌生么?不仅如此,他还在之后推出了requests模块的升级版requests_html。之前写过一篇对这个升级版的模块做了相关介绍。喜欢的朋友...

weixin_39775577的博客 419

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Python开发还在用virtualenv?是时候了解下更犀利的pipenv了

作者丨王翔丨来源丨清风Python(BreezePython) 又见 Kenneth ReitzKenneth Reitz提到Kenneth R...

<sdffdsfsdfdfs>sfsfsfsdfsdffds</sdfsDS>Fsd 386

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Python开发还在用virtualenv?不如了解下pipenv...#华为云·寻找黑马程序员#

又见 Kenneth Reitz 之前公众号写了一篇文章爬虫新宠requests_html 带你甄别2019虚假大学,其中主要是为了介绍模块**requests_html,这个模块的作者还开发了requests模块,相当的犀利。没错,他就是Kenneth Reitz,一个被编程耽误的摄影师,哈哈,网上还有他的一些励志故事,喜欢的朋友可以去搜搜,个人比较崇拜他。那么,今天又要介绍他的另外一个牛1...

华为云官方博客 3684

黑马程序员python笔记_Python开发还在用virtualenv?不如了解下pipenv...#华为云·寻找黑马程序员#...

又见 Kenneth Reitz之前公众号写了一篇文章爬虫新宠requests_html 带你甄别2019虚假大学,其中主要是为了介绍模块**requests_html,这个模块的作者还开发了requests模块,相当的犀利。没错,他就是Kenneth Reitz,一个被编程耽误的摄影师,哈哈,网上还有他的一些励志故事,喜欢的朋友可以去搜搜,个人比较崇拜他。那么,今天又要介绍他的另外一个牛13之作...

weixin_39640911的博客 71

Python环境管理主流工具pyenv、virtualenv、pipenv和conda各自不同侧重点和使用场景

Python环境管理主流工具pyenv、virtualenv、pipenv和conda各自的侧重点和适用范围。

lizhi941的博客 4342

删除虚拟环境_Python虚拟环境和依赖管理的新方式:Pipenv的安装和使用

图/文:迷神python由于版本差异,以及不同的依赖环境略有不同,所以Python虚拟环境和依赖管理基本上就是必学的啦。python其实有不少虚拟环境依赖库管理,比如:virtualenv。但是也有他的缺点。今天我们就试试Python虚拟环境和依赖管理的新方式:PipenvPipenv是Kenneth Reitz在2017年1月发布的Python依赖管理工具,现在由PyPA维护。pipenv 是集...

weixin_39683172的博客 1618

2024年最全用于管理虚拟环境的 Python 工具

🍅 硬核资料:关注即可领取PPT模板、简历模板、行业经典书籍PDF。🍅 技术互助:技术群大佬指点迷津,你的问题可能不是问题,求资源在群里喊一声。🍅 面试题库:由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。🍅 知识体系:含编程语言、算法、大数据生态圈组件(Mysql、Hive、Spark、Flink)、数据仓库、Python、前端等等。网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

2401_84563354的博客 1251

一文解读 virtualenv & venv & pipenv 之间的联系与区别

Python应用程序通常会使用不在标准库内的软件包和模块,且有时会需要包或者模块的特定版本,如应用程序A需要特定模块的1.0版本但应用程序B需要2.0版本。这意味着只安装其中一个版本可能无法满足每个应用程序的要求,此时我们可以使用虚拟环境来解决这一问题。 在学习虚拟环境的时候遇到了virtualenv、venv、pipenv等名词,这些都与Python的虚拟环境有关,那么这些到底是什么及相互之间又...

I'm George 的博客 4万+

Python虚拟环境指南(pipenv、venv(virtualenv )、conda)

随着大数据、人工智能的兴起,Python被带到了一个新的高度,但在使用Python过程中,很多人没搞清楚Python环境究竟是什么。当开发工程的时候,往往因为python环境的问题搞得一团糟。 本文旨在说清楚什么是Python环境,什么是Python虚拟环境,并希望通过本文的学习掌握常用的Python环境管理工具的使用。

tangyi2008的专栏 4555

Ubuntu系统下Python的虚拟环境搭建方法简介:venv、virtualenv、pipenv

Python进阶:Ubuntu系统下Python的venv轻量级虚拟环境搭建简介一、Python虚拟环境的作用及创建方法简介二、venv搭建虚拟环境2.1 venv虚拟环境创建最简单的例子2.2 熟悉而陌生的pip2.2.1 从PyPI上安装2.2.2 pip根据Requirements文件配置环境三、virtualenv搭建虚拟环境四、pipenv搭建虚拟环境4.1 pipenv简介4.2 pipenv的安装与使用方法 一、Python虚拟环境的作用及创建方法简介 Python虚拟环境的作用:针对不同项

嵌入式技术与人工智能 2万+

Python依赖环境管理工具:pyenv、virtualenv、pipenv、conda和UV的比较

​在Python开发中,依赖环境的管理是一项至关重要的任务。为了确保项目的稳定性和可维护性,选择合适的依赖环境管理工具至关重要。

hwh0108的专栏 2565

【Python】Virtualenv,Pipenv,Poetry,Conda是什么,以及区别

特性VirtualenvPipenvPoetryConda核心功能环境隔离环境 +依赖管理依赖管理 + 打包+ 环境跨语言包+ 环境管理依赖文件Pipfile包来源PyPIPyPIPyPIAnaconda repo, PyPI (次要)打包发布不支持不支持原生支持不支持适用领域通用Python开发应用开发库和应用开发数据科学、科学计算关键优势简单、轻量、标准官方背书、统一工作流现代、强大、打包一体化解决非Python依赖、预编译包。

ITHomeZSL的博客 1485
上一篇: 面对秋招,我该告诉你关于Leetcode与Termux下使用Jupyter Notebook
下一篇: Flask开发天气查询软件,带你掌握pipenv的使用与手机Termux下的部署
清风Python
博客等级 码龄7年 406粉丝 267原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值