一、什么是Pipenv
Pipenv是Kenneth Reitz在2017年1月发布的Python依赖管理工具,现在由PyPA维护。你可以把它看做是pip和virtualenv的组合体,而它基于的Pipfile则用来替代旧的依赖记录方式(requirements.txt)。
1、普通安装
pipenv
可使用 pip 直接安装。
pip install pipenv
作者推荐在python3
下边安装,会提高与virtualenv的兼容性。
2、用户模式安装
为防止和系统python库产生影响,可使用此种方案安装。
pip install --user pipenv
pip 默认安装包路径为/usr/local/lib/python2.7/site-packages
。此模式下,pip安装包保存路径为用户库路径,一般为/Users/pylixm/Library/Python/3.6/lib/python/site-packages
, 可使用命令python3 -m site --user-site
具体查看。如果在安装后你的shell中pipenv不可用,你需要把用户库的二进制目录/Users/pylixm/Library/Python/3.6/bin
添加到你的PATH中。
3、使用pipenv
用一个空目录体验一下:
❯ mkdir test_pipenv
❯ cd test_pipenv
❯ pipenv install # 创建一个虚拟环境
Creating a virtualenv for this project…
...
Installing setuptools, pip, wheel...done.
Virtualenv location: /Users/dongweiming/.virtualenvs/test_pipenv-GP_s2TW5
Creating a Pipfile for this project…
Pipfile.lock not found, creating…
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
Updated Pipfile.lock (c23e27)!
Installing dependencies from Pipfile.lock (c23e27)…
? ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 0/0 — 00:00:00
To activate this project's virtualenv, run the following:
$ pipenv shell
❯ pipenv shell # 激活虚拟环境
❯ which python3 # 已经在虚拟环境里了
❯ exit # 退出虚拟环境
以上就是原来virtualenv的基本用法了。我们看一下当前目录现在是什么样子的:
❯ ls
Pipfile Pipfile.lock
pipenv 没有像virtualenv那样配置环境,使用workon的命令,所以创建、删除,包括pipenv shell
需要在指定的环境目录下,不然就在当前目录创建虚拟环境了。
二、安装python模块
1、正常安装
安装 requests
模块:
$ pipenv install requests
现在Pipfile.lock已经更新了,包含了 elasticsearch-dsl、requests 和相关依赖的包信息。
可通过命令pipenv graph
查看已安装模块,同时可查看他们直接的相互依赖情况。
$ pipenv graph
requests==2.18.4
- certifi [required: >=2017.4.17, installed: 2017.11.5]
- chardet [required: <3.1.0,>=3.0.2, installed: 3.0.4]
- idna [required: >=2.5,<2.7, installed: 2.6]
- urllib3 [required: >=1.21.1,<1.23, installed: 1.22]
2、只安装开发环境
可通过以下命令,仅安装在开发环境,
pipenv install --dev requests --three
3、通过 requirements.txt 安装
pipenv install -r requirements.txt
这样我们可以重用之前的requirement.txt 文件来构建我们新的开发环境,可以把我们的项目顺利的迁到pipenv。
可通过以下命令生成requirements 文件:
pipenv lock -r [--dev] > requirements.txt
# 或者
pipenv run pip freeze > requirements.txt
4、项目环境迁移部署
把原环境的Pipfile Pipfile.lock
文件拷贝到新环境中,直接如下执行即可:
pipenv install
5、查看帮助信息
pipenv
参考资料:
github仓库地址