天天看点

Pipenv快速入门同步

相信很多学习过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这个包管理工具,可以省去不少的麻烦,提升工作效率!