使用pipenv管理python虚拟环境的全过程


Posted in Python onSeptember 25, 2021

pipenv 是Kenneth Reitz大神的作品,能够有效管理Python多个环境,各种包。过去我们一般用virtualenv搭建虚拟环境,管理python版本,但是跨平台的使用不太一致,且有时候处理包之间的依赖总存在问题;过去也常常用 pip进行包的管理,pip已经足够好,但是仍然推荐pipenv,相当于virtualenv和pip的合体,且更加强大。pipenv开源之后,在GitHub上有很高人气(截止于现在有9600多星)。

pipenv主要有以下特性:

  (1)pipenv集成了pip,virtualenv两者的功能,且完善了两者的一些缺陷。

  (2)过去用virtualenv管理requirements.txt文件可能会有问题,Pipenv使用Pipfile和Pipfile.lock,后者存放将包的依赖关系,查看依赖关系是十分方便。

  (3)各个地方使用了哈希校验,无论安装还是卸载包都十分安全,且会自动公开安全漏洞。。

  (4)通过加载.env文件简化开发工作流程。

  (5)支持Python2 和 Python3,在各个平台的命令都是一样的。

下面介绍下使用pipenv管理python虚拟环境的全过程,一起看看吧!

python的虚拟环境可以为项目创建一个独立的环境,能够解决使用不同版本依赖给项目带来冲突的麻烦。创建虚拟环境的方式有很多种,pipenv会自动帮你管理虚拟环境和依赖文件,并且提供了一系列命令和选项来帮忙你实现各种依赖和环境管理相关的操作。

1.安装pipenv

pip install pipenv

2.Pipfile文件和Pipfile.lock文件

Pipfile文件和Pipfile.lock是在创建虚拟环境时生成的,用来记录安装依赖的信息,Pipfile时用来替代piprequirements.txt的。

Pipfile.lock包含你的系统信息,所有已安装包的依赖包及其版本信息,以及所有安装包及其依赖包的hash校验信息。

3.创建虚拟环境

$ cd myproject

//创建python3.7的虚拟环境
$ pipenv --python 3.7

创建虚拟环境会默认查找当前目录有没有.venv目录,如果没有会默认在home目录用户下的/Users/xxxx/.local/share/virtualenvs创建虚拟环境目录。推荐先在项目下创建一个.venv文件夹,然后再创建虚拟环境。

如果不存在pipfile,会生成一个piffle,并且如果有的库添加会自动编辑这个文件。

4.激活/进入pipenv shell

$ pipenv shell
$ python --version

//根据Pipfile进行依赖安装,忽略Pipfile.lock
$ pipenv install --skip-lock

//安装指定版本模块
$ pip install pymongo==xxx

根据Pipfile进行依赖包安装。

5.退出虚拟环境

$ exit 或者 ctrl+d

6.查看已经安装的依赖

$ pipenv graph

7.更新升级包

$ pipenv update requests

8.通过requirements.txt安装虚拟环境

pipenv install -r requirements.txt

9.生成requirements.txt文件

pipenv lock -r [--dev] > requirements.txt

10.删除虚拟环境

pipevn --rm

扩展阅读:https://rgb-24bit.github.io/blog/2018/pipenv.html

到此这篇关于使用pipenv管理python虚拟环境的全过程的文章就介绍到这了,更多相关pipenv python虚拟环境内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python中正则表达式的用法实例汇总
Aug 18 Python
在Python中使用Neo4j数据库的教程
Apr 16 Python
好用的Python编辑器WingIDE的使用经验总结
Aug 31 Python
Python实现求解括号匹配问题的方法
Apr 17 Python
python 构造三维全零数组的方法
Nov 12 Python
python实现浪漫的烟花秀
Jan 30 Python
python多线程http压力测试脚本
Jun 25 Python
wxPython色环电阻计算器
Nov 18 Python
Cython编译python为so 代码加密示例
Dec 23 Python
解决Django响应JsonResponse返回json格式数据报错问题
Aug 09 Python
python实现发送QQ邮件(可加附件)
Dec 23 Python
教你使用Python pypinyin库实现汉字转拼音
May 27 Python
Django实现WebSocket在线聊天室功能(channels库)
Sep 25 #Python
Python天气语音播报小助手
用python基于appium模块开发一个自动收取能量的小助手
Python实现打乒乓小游戏
Python 类,对象,数据分类,函数参数传递详解
Sep 25 #Python
Python实现简单的俄罗斯方块游戏
Python实现滑雪小游戏
You might like
PHP 多进程 解决难题
2009/06/22 PHP
PHP单例模式详细介绍
2015/07/01 PHP
XHProf报告字段含义的解析
2016/05/17 PHP
JavaScript 基础篇(一)
2012/03/30 Javascript
jquery+json实现数据列表分页示例代码
2013/11/15 Javascript
使用jquery实现的循环连续可停顿滚动实例
2016/11/23 Javascript
利用js+css+html实现固定table的列头不动
2016/12/08 Javascript
javascript中对象的定义、使用以及对象和原型链操作小结
2016/12/14 Javascript
vue2.0实战之基础入门(1)
2017/03/27 Javascript
AngularJS读取JSON及XML文件的方法示例
2017/05/25 Javascript
详解JavaScript修改注册表的方法
2020/01/05 Javascript
antd-DatePicker组件获取时间值,及相关设置方式
2020/10/27 Javascript
[06:43]DAC2018 4.5 SOLO赛 Maybe vs Paparazi
2018/04/06 DOTA
python 实现插入排序算法
2012/06/05 Python
python分割文件的常用方法
2014/11/01 Python
详细解析Python当中的数据类型和变量
2015/04/25 Python
Python下rrdtool模块的基本使用方法
2015/11/13 Python
python 模拟贷款卡号生成规则过程解析
2019/08/30 Python
零基础小白多久能学会python
2020/06/22 Python
Python 绘制可视化折线图
2020/07/22 Python
python爬取招聘要求等信息实例
2020/11/20 Python
纯CSS绘制漂亮的圆形图案效果
2014/05/07 HTML / CSS
美国百年历史早餐食品供应商:Wolferman’s
2017/01/18 全球购物
俄罗斯护发和专业化妆品购物网站:Hihair
2019/09/28 全球购物
加拿大拼图大师:Puzzle Master
2020/12/28 全球购物
某公司面试题
2012/03/05 面试题
幼儿园中秋节活动方案
2014/02/06 职场文书
2014年五一活动策划方案
2014/03/15 职场文书
如何写好自荐信
2014/04/07 职场文书
环保倡议书范文
2014/05/12 职场文书
物资采购方案
2014/06/12 职场文书
个人总结与自我评价
2014/09/18 职场文书
单位工作证明书格式
2014/10/04 职场文书
2015年幼师工作总结
2015/04/28 职场文书
爱心捐款活动总结
2015/05/09 职场文书
校车安全管理责任书
2015/05/11 职场文书