欢迎来到Python教程自学网!
当前位置: 首页 > Python基础教程 > python虚拟环境Pipenv:更高效的管理依赖

python虚拟环境Pipenv:更高效的管理依赖

   

python虚拟环境Pipenv:更高效的管理依赖

具体来说,Pipenv是 pip、Pipfile和Virtualenv的结合体,它让包安装、包依赖管理和虚拟环 境管理更加方便,使用它可以实现高效的Python项目开发工作流。

一、现在使用pip安装Pipenv:

pip install pipenv

在Linux或macOS系统中使用sudo以全局安装:

sudo pip install pipenv

用下面的命令检测是否安装

pipenv --version

二、创建虚拟环境

pipenv install

你可以通过–three和–two选项来声明虚拟环境中使用的Python版本 (分别对应Python3和Python2)

三、激活虚拟环境

pipenv shell

当执行pipenv shell或pipenv run命令时,Pipenv会自动从项目目录下 的.env文件中加载环境变量。

Pipenv会启动一个激活虚拟环境的子shell,现在你会发现命令行提 示符前添加了虚拟环境名“(虚拟环境名称)$”,比如:

(helloflask-5Pp0ZfAn) $

四、退出虚拟环境

使用exit命令

五、非显示调用

除了显式地激活虚拟环境,Pipenv还提供了一个pipenv run命令,这 个命令允许你不显式激活虚拟环境即可在当前项目的虚拟环境中执行命 令,比如:

$ pipenv run python hello.py

这会使用虚拟环境中的Python解释器,而不是全局的Python解释 器。事实上,和显式激活/关闭虚拟环境的传统方式相比,pipenv run是 更推荐的做法,因为这个命令可以让你在执行操作时不用关心自己是否激活了虚拟环境。

六、管理依赖

一个程序通常会使用很多的Python包,即依赖(dependency)。而程序不仅仅会在一台电脑上运行,程序部署上线时需要安装到远程服务器上,而你也许会把它分享给朋友。

如果你打算开源的话,就可能会有更多的人需要在他们的电脑上运行。为了能顺利运行程序,他们不得不记下所有依赖包,然后使用pip或Pipenv安装,这些重复无用的工作当然应该避免。

在以前我们通常使用pip搭配一个requirements.txt文件来记录依赖。但requirements.txt需要手动维护,在使用上不够灵活。Pipfile的出 现就是为了替代难于管理的requirements.txt。

在创建虚拟环境时,如果项目根目录下没有Pipfile文件,pipenv install命令还会在项目文件夹根目录下创建Pipfile和Pipfile.lock文件,前者用来记录项目依赖包列表,而后者记录了固定版本的详细依赖包列表。

当我们使用Pipenv安装/删除/更新依赖包时,Pipfile以及Pipfile.lock 会自动更新。

你可以使用pipenv graph命令查看当前环境下的依赖情况,或是在 虚拟环境中使用pip list命令查看依赖列表。 当需要在一个新的环境运行程序时,只需要执行pipenv install命令。

Pipenv就会创建一个新的虚拟环境,然后自动从Pipfile中读取依赖 并安装到新创建的虚拟环境中。