相信很多学习过Python的同学应该都知道,pip是我们经常用来安装Python第三方包的工具,不过第三方包安装多了,包之间的依赖管理也是个问题,Pipenv是 Python官方推出的包管理工具,可以帮助我们管理虚拟环境以及第三方包之间的依赖关系。
安装
安装pipenv其实很简单,直接用pip命令就可以安装。
pip install pipenv
创建虚拟环境
首先进入项目工程根目录,创建虚拟环境。
pipenv install
pipenv --python 3.7
如果不指定版本号,pipenv会使用系统默认的Python版本。需要注意的是,这里指定的Python版本必须是系统已经安装的、可以在环境变量中搜索到的版本号,如果指定未安装的版本,会提示错误。
创建成功后,可以在根目录中看到两个文件:Pipfile 和Pipfile.lock。Pipfile 中保存着各个依赖包的版本信息,Pipfile.lock保存着依赖包的锁信息。
进入虚拟环境
pipenv shell
在虚拟环境中安装模块(与使用pipenv install不同的是,在pipenv的虚拟环境中用pip install虽然也可以用于安装模块,但不会记录到Pipfile与Pipfile.lock,在同步环境中会出现丢失模块的问题,所以用pipenv时最好先忘掉pip)。
创建一个新的Pipfile.lock
pipenv lock
安装第三方包
这里将安装第三方依赖包,更新Pipfile,并且更新Pipfile.lock文件。
pipenv install <包名>
更新
查看所有需要更新的包
pipenv update --outdated
更新所有包
pipenv update
更新指定的包
pipenv update <包名>
查看已安装模块
pipenv graph
如果运行这命令出错,可能是你的pipenv版本较老,可以升级试试
pip install pipenv –upgrade
删除
删除虚拟环境中所有已安装模块
pipenv uninstall --all
删除某个模块
pipenv uninstall <包名>
这个用法与pip类似
删除虚拟环境
pipenv --rm
其它服务器上安装好Python与pipenv,复制Pipfile与Pipfile.lock,在存放Pipfile的目录中创建虚拟环境,执行以下两行命令,就可自动创建项目需要的环境。
pipenv sync
pipenv install
这两行命令区别是直接从Pipfile读取或是从Pipfile.lock中读取模块和版本号,只要你没修改过这两个文件,结果通常都是一样的。
总结
在日常工作中,如果你也经常在为Python各种包之间的依赖关系烦恼,建议可以尝试使用pipenv这个包管理工具,可以省去不少的麻烦,提升工作效率!