Python包的管理利器pipenv

大家都知道 pip(pip2、pip3分别对应python的2、3版本)是python的包管理工具,使得python的第三方包的安装等任务十分方便。另外,很多python的虚拟环境工具如virtualenvpyenv等等都得到了广泛使用。

而pipenv是requests库作者Kenneth Reitz开发的,它结合了pip及virtualenv的功能和优点,其目的是替代virtualenvpyenv,将pipvirtualenv的功能集于一身。

多说一句,尽管 pip 可以安装 Python 包,但仍推荐使用 pipenv,因为它是一种更高级的工具,可简化依赖关系管理的常见使用情况。如果还没有使用过pipenv的童鞋,赶紧试试吧!

pipenv安装

pipenv 的安装依赖 pip,如果没有配置好pip,安装pipenv还是有点麻烦的。如果配置好了pip的环境变量,在任意目录下都可以使用下面的命令安装

pip install pipenv

pipenv使用方法

命令名 命令
创建pipenv  pipenv
启动pipenv pipenv shell(若未存在虚拟环境会自动创建)
退出pipenv  exit
查找所有安装包 pip list
环境内包的依赖展示 pipenv graph
查找虚拟环境的路径 pipenv –venv
卸载安装包  pipenv uninstall

实例

将目录更改为包含你的Python项目的文件夹,并启动Pipenv,

cd my_project
pipenv install

这将在项目目录中创建两个新文件: PipfilePipfile.lock,如果项目不存在,则为项目创建一个新的虚拟环境。Pipfile包含关于项目的依赖包的信息,并取代通常在Python项目中使用的requirements.txt文件。

mkdir

在上图中,使用了mkdir创建了文件夹PyProject,之后进入这个文件夹使用pipenv install 创建了虚拟环境。
由于默认的python版本是3的,所以创建的虚拟环境是py3。如果需要使用py2的话,可以添加参数进行创建。

pipenv install - -two

激活虚拟环境:

pipenv shell

激活后,可以看到控制台输入那里已经标明虚拟环境了

shell

安装第三方库

使用pipenv创建虚拟环境后,进入pipfile所在目录,使用install命令安装第三方库。 例如

pipenv install requests

install.PNG

其实把pipenv当作pip来使用。无需像virtualenv那样需要额外的先启动虚拟环境。pipenv区分你是在给哪个虚拟环境安装,依赖的是Pipfile文件的位置。

卸载第三方库

pipenv uninstall requests

查看项目中安装的依赖

pipenv graph

graph.png

冻结Pipfile

冻结就相当于将项目所使用的第三方库列表进行打包输出,类似于的virtualenv中生成requirements.txt文件。

通过更新Pipfile.lock来冻结库名称及其版本,以及其依赖关系的列表需要使用锁参数:

pipenv lock

如果另一个用户拷贝了你的项目,他们只需要安装Pipenv,然后:

pipenv install

pipenv会在项目文件夹下自动寻找Pipfile和Pipfile.lock文件,创建一个新的虚拟环境并安装必要的软件包。

最后

如果你在做web项目就会体会到pipenv的便利。一些包只支持py2,所以必须使用Python2,而现在都8102年了,大部分人都习惯py3了,所以用pipenv创建虚拟环境能够避免混乱,而且pipenv也比其他的一些管理工具更加人性化一点。

更多详细指令可以直接输入pipenv查看,或者查看官方文档。

0%