Python—版本和环境的管理工具(Pipenv)

pipenv简介

  • 虚拟环境本质是一个文件,是为了适应不同的项目而存在。pipenv相当于virtualenv和pip的合体。
  • 整合了 pip+virtualenv+Pipfile,能够自动处理好包的依赖问题和虚拟环境问题,是最推荐使用的虚拟环境管理。
  • 过去用virtualenv管理requirements.txt文件可能会有问题,Pipenv使用Pipfile和Pipfile.lock,后者存放包的依赖关系,查看依赖关系十分方便。
  • 各个地方使用了哈希校验,无论安装还是卸载包都十分安全,且会自动公开安全漏洞。
  • 通过加载.env文件简化开发工作流程。
  • 支持Python2 和 Python3,在各个平台的命令都是一样的。

安装、升级、卸载pipenv

# 安装pipenv
[root@localhost ~]# pip install pipenv

# 升级pipenv [root@localhost
~]# pip install --upgrade pipenv
# 卸载pipenv [root@localhost
~]# pip uninstall pipenv

使用pipenv

# 1.进入到项目目录
[root@localhost ~]# cd /www/wwwroot/myproject

#
2.创建虚拟环境 [root@localhost myproject]# pipenv install [root@localhost myproject]# pipenv install --three # 使用当前系统的Python3创建环境 [root@localhost myproject]# pipenv --two # 使用python2创建环境 [root@localhost myproject]# pipenv --three # 使用python3创建环境 [root@localhost myproject]# pipenv --python 3.6 # 指定某个Python版本创建环境 [root@localhost myproject]# pipenv --python <path/to/python> # 指定某个位置的Python创建环境
# 3.激活并进入虚拟环境 [root@localhost myproject]# pipenv shell
#
4.在虚拟环境中安装模块,并加入到Pipfile。可以不进入虚拟环境中,直接在项目目录下面使用pipenv安装即可。 (myproject) [root@localhost myproject]# pipenv install requests (myproject) [root@localhost myproject]# pipenv install django==1.11 (myproject) [root@localhost myproject]# pipenv uninstall requests
#
5.运行python项目 (myproject) [root@localhost myproject]# python Main.py (myproject) [root@localhost myproject]# pipenv run python main.py
#
6.退出虚拟环境 (myproject) [root@localhost myproject]# exit
  • 当运行pipenv install 命令时, pipenv 会在项目目录下寻找Pipfile文件,如果没有则生成一个Pipfile文件。install, uninstall和lock等命令都会生成Pipfile.lock文件。两个文件互相配合,完成虚拟环境的管理工作。
  • pipenv install 创建的虚拟环境名字格式为:项目目录名+随机字符串。如上面的:myproject-1qCvww8S和myproject-jyD3CuVy。在windows系统中,默认的路径为C:UsersAdministrator.virtualenvs下。而在linux环境系统中,默认的路径为:~/.local/share/virtualenvs/。如果你想在项目目录内创建虚拟环境文件夹,可以设置环境变量PIPENV_VENV_IN_PROJECT,这时名为.venv的虚拟环境文件夹将在项目根目录下创建。
  • 创建虚拟环境时,如果要指定Python版本,可以使用--two指定python2版本;使用--three指定Python3版本;或是使用 --python 选项指定具体的版本号。
  • 如果要显示激活虚拟环境命令,使用:pipenv shell,退出虚拟环境则使用exit。当然,也可以使用pipenv run命令隐式激活虚拟环境。

常用pipenv命令

# 创建pipenv虚拟环境
[root@localhost myproject]# pipenv install
[root@localhost myproject]# pipenv --two/--three

# 查看项目所在路径 [root@localhost myproject]# pipenv --where # 查看虚拟环境所在路径 [root@localhost myproject]# pipenv --venv # 查看虚拟环境中Python执行文件所在位置(即显示Python解释器信息) [root@localhost myproject]# pipenv --py
# 进入pipenv虚拟环境(未存在虚拟环境可自动创建)   [root@localhost myproject]# pipenv shell
# 安装与卸载包 (myproject)
[root@localhost myproject]# pipenv install requests (myproject) [root@localhost myproject]# pipenv uninstall requests (myproject) [root@localhost myproject]# pipenv uninstall --all # 卸载全部包并从Pipfile中移除
# 查看虚拟环境内安装的包以及包之间的依赖关系 (myproject) [root@localhost myproject]# pipenv graph
# 查找虚拟环境所有安装包 (myproject)
[root@localhost myproject]# pip list # 导出虚拟环境内所有依赖包名 (myproject) [root@localhost myproject]# pip freeze > requirements.txt # 安装项目所依赖全部模块 (myproject) [root@localhost myproject]# pip install -r requirements.txt
# 检查包的安全性 (myproject)
[root@localhost myproject]# pipenv check
# 生成Pipenv.lock,Pipfile.lock用来冻结软件包名称及其版本以及其自己的依赖关系的列表 (myproject)
[root@localhost myproject]# pipenv lock
# 退出pipenv虚拟环境   (myproject)
[root@localhost myproject]# exit
# 删除pipenv当前虚拟环境
[root@localhost myproject]# pipenv --rm

 https://blog.csdn.net/cckavin/article/details/100094715

 https://www.cnblogs.com/hongdada/p/11014908.html 

 https://www.cnblogs.com/Erick-L/p/11049391.html

 https://blog.csdn.net/qq_30162859/article/details/81571986

 https://www.jianshu.com/p/00af447f0005

 https://www.cnblogs.com/linyihai/p/10545147.html

原文地址:https://www.cnblogs.com/liuhaidon/p/11588949.html