1.Pipenv 介绍
Pipenv是基于pip的Python包管理工具,它和pip的用法非常相似,可以看做pip的加强版。
pipenv解决了旧的pip+virtualenv+requirements.txt 的工作方式的弊端(因为requirements.txt 需要手动维护,使用上不够灵活)
具体来说,它是pip、Pipfile、Virtualenv的结合体,它让安装包、包依赖管理和虚拟环境管理更加方便。
2.pipenv使用
(1)安装:
pip install pipenv
检查是否创建成功:
pipenv --version
(2)创建虚拟环境:
pipenv install
这会为当前项目创建一个文件夹,其中包含隔离的Python解释其环境,并且安装pip、wheel、setuptools等基本的包。
(3)激活虚拟环境
pipenv shell
当执行pipenv shell 命令时, Pipenv 会自动从项目目录下的.env文件中加载环境变量。
现在你会发现,命令行提示符前面添加了虚拟环境名,这说明我们已经成功激活了虚拟环境,现在你所有的命令都会在虚拟环境中执行。
(4)退出虚拟环境
exit
3. 管理依赖包
一个程序通常会使用很多的Python包,即依赖(dependency)。而程序不仅仅会在一台电脑上运行,程序部署上线时,需要安装到远程服务器上。
如果你打算开源的话,就可能会有更多的人需要在他们的电脑上运行。为此,他们不得不记录下所有的依赖包,然后使用pip或Pipenv安装,这些重复无用的工作当然应该避免。
而且requirements.txt 需要手动维护,使用上不够灵活。Pipfile的出现就是为了替代难于管理的requirements.txt。
在创建虚拟环境时,如果项目根目录下没有Pipfile文件,pipenv还会在项目的根文件夹目录下创建Pipfile和Pipfile.lock文件。
前者用来记录项目依赖包列表,后者记录了固定版本的详细依赖包列表。当我们使用Pipenv 安装/删除/更新 依赖包时,二者会自动更新。
查看当前环境下的依赖情况:
pipenv graph
在虚拟环境中查看依赖列表:
pip list
当需要在一个新的环境运行程序时, 只需要执行 pipenv install 命令
pipenv 就会创建一个新的虚拟环境,然后自动从Pipfile中读取依赖并安装到新创建的虚拟环境中。