Python包和版本管理的最好工具----pipenv

时间:2018-03-07 21:38:30   收藏:0   阅读:13478

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

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

1 安装

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

1 pip3 install pipenv

如下:

技术分享图片

2 创建虚拟环境

1 mkdir project
2 cd project
3 pipenv install

如下:

技术分享图片

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

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

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

3 安装包

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

技术分享图片

安装requests包:

1 pipenv install requests

如下:

技术分享图片

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

技术分享图片

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

1 pipenv graph

如下:

技术分享图片

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

1 pipenv install --dev requests --three

如下:

技术分享图片

反应在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

如下:

技术分享图片

6 通过requirements.txt安装包

1 pipenv install -r requirements.txt

技术分享图片

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

7 在虚拟环境运行py代码

7.1 方法一: pipenv run python xxx.py

1 pipenv run python xxx.py

如下:

技术分享图片

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

1 pipenv shell

如下:

技术分享图片

加上参数也可:

技术分享图片

8 删除包

1 pipenv uninstall reuqests

如下:

技术分享图片

9 删除虚拟环境

1 pipenv --rm

如下:

技术分享图片

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

技术分享图片

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                  生成lockfile
 8 pipenv install --dev         安装所有开发环境包
 9 pipenv uninstall --all       卸载所有包
10 pipenv --rm                  删除虚拟环境

更多命令及使用猛击这里。

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!