pipenv 是Kenneth Reitz大神的作品,提供Python的各个版本间的管理,各种包管理。个人觉得是virtualenv pip等工具的合体。下面让我们来看看功能吧。

本文的测试环境是Python3.6,但也支持python2。

1 安装

首先请确保安装了python3和对应的pip3。

1 pip3 install pipenv

如下:

python版本哪个好 python哪个版本最稳定_安装包

2 创建虚拟环境

1 mkdir project2 cd project3 pipenv install

如下:

python版本哪个好 python哪个版本最稳定_虚拟环境_02

初始化好虚拟环境后,会在项目目录下生成2个文件Pipfile和Pipfile.lock。为pipenv包的配置文件,代替原来的 requirement.txt。

项目提交时,可将Pipfile 文件和Pipfile.lock文件一并提交,待其他开发克隆下载,根据此Pipfile 运行命令pipenv install --dev生成自己的虚拟环境。

Pipfile.lock 文件是通过hash算法将包的名称和版本,及依赖关系生成哈希值,可以保证包的完整性。

3 安装包

用pycharm先打开咱们刚刚创建的project,然后创建APP目录,在app目录下创建如下spider.py文件,导入requests库,并没有安装。

python版本哪个好 python哪个版本最稳定_python版本哪个好_03

安装requests包:

1 pipenv install requests

如下:

python版本哪个好 python哪个版本最稳定_安装包_04

这样,在pycharm里就能看到requests已经可用:

python版本哪个好 python哪个版本最稳定_python_05

4 查看安装的包和依赖关系

1 pipenv graph

如下:

python版本哪个好 python哪个版本最稳定_虚拟环境_06

4.1 如果只安装在开发环境中

1 pipenv install --dev requests --three

如下:

python版本哪个好 python哪个版本最稳定_python_07

反应在Pipfile如下:

[[source]]

url= "https://pypi.python.org/simple"verify_ssl=true

name= "pypi"[packages]

requests= "*"[dev-packages]

requests= "*"[requires]

python_version= "3.6"

安装包记录是在[dev-packages] 部分,还是[packages] 部分。在安装时,指定--dev参数,则只安装[dev-packages]下的包,若安装时不定指定--dev参数,只会安装[packages] 包下面的模块。

[requires] 下的python在构建新的虚拟环境时,若没有会自动下载安装。

5 像virtualenv一样用命令生成requirements 文件

1 pipenv lock -r --dev > requirements.txt

如下:

python版本哪个好 python哪个版本最稳定_python版本哪个好_08

6 通过requirements.txt安装包

1 pipenv install -r requirements.txt

python版本哪个好 python哪个版本最稳定_python3哪个版本最好玩_09

这样我们可以重用之前的requirement.txt 文件来构建我们新的开发环境,可以把我们的项目顺利的迁到pipenv。

7 在虚拟环境运行py代码

7.1 方法一: pipenv run python xxx.py

1 pipenv run python xxx.py

如下:

python版本哪个好 python哪个版本最稳定_虚拟环境_10

7.2 方法二:启动虚拟环境的shell环境

1 pipenv shell

如下:

python版本哪个好 python哪个版本最稳定_python_11

加上参数也可:

python版本哪个好 python哪个版本最稳定_python3哪个版本最好玩_12

8 删除包

1 pipenv uninstall reuqests

如下:

python版本哪个好 python哪个版本最稳定_python3哪个版本最好玩_13

9 删除虚拟环境

1 pipenv --rm

如下:

python版本哪个好 python哪个版本最稳定_安装包_14

删除虚拟环境之后,再次运行pip shell 会发现先为这个project创建虚拟环境,然后再打开shell。如下:

python版本哪个好 python哪个版本最稳定_虚拟环境_15

10 常用参数及命令一览

1 pipenv --where 列出本地工程路径2 pipenv --venv 列出虚拟环境路径3 pipenv --py 列出虚拟环境的Python可执行文件4 pipenv install 安装包(创建虚拟环境)5 pipenv install moduel --dev 在开发环境安装包6 pipenv graph 查看包依赖7 pipenv lock 生成lockfile8 pipenv install --dev 安装所有开发环境包9 pipenv uninstall --all 卸载所有包10 pipenv --rm 删除虚拟环境