Pipenv: Python包管理神器

Pipenv旨在将最好的包管理机制(bundler, composer, npm, cargo, yarn等等)带到Python中去。shell

它会为你的项目自动建立和管理virtualenv,也会在安装和移除包时自动同步Pipfile,还生成了Pipfile.lock文件描述了固定版本,以便在生产环境中构建。npm

Pipenv主要解决了如下问题:安全

  • 咱们不须要分开使用pipvirtualenv,如今他们被合并了。
  • 维护requirements.txt有时也会遇到一些问题,Pipenv使用PipfilePipfile.lock来抽象分开依赖定义
  • 普遍使用Hash来保证安全
  • 强力鼓励你使用最新的依赖版本下降安全风险
  • 经过 pipenv graph更直观显示依赖图示
  • 经过加载.env文件来实现流线型开发工做流

安装Pipenv

sudo pip install pipenvcomposer

Pipenv工做流程

进入项目编辑器

cd myproject

从Pipfile文件中安装ui

pipenv install

或者为项目指定加入packageurl

pipenv install <package>

若是Pipfile文件不存在时会建立一个,若是存在就会对其进行编辑,加入新包。插件

接下来激活Pipenv shell:code

pipenv shell

退出ip

exit

更多指令

更新某个package

pipenv update requests

移除某个package

pipenv uninstall requests

安装到dev环境

pipenv install -dev parsel==1.3.1

显示依赖图示

$ pipenv graph
requests==2.20.1
  - certifi [required: >=2017.4.17, installed: 2018.11.29]
  - chardet [required: >=3.0.2,<3.1.0, installed: 3.0.4]
  - idna [required: >=2.5,<2.8, installed: 2.7]
  - urllib3 [required: >=1.21.1,<1.25, installed: 1.24.1]

锁定版本

pipenv lock

环境变量

若是须要在环境中加入一些环境变量,能够将变量加入到.env文件中,在pipenv shell指令进入环境时,它会自动加载该文件的变量:

echo "FOO=BAR" > .env
pipenv shell
echo $FOO

编辑器支持

Pycharm当前已经支持pipenv包管理插件。

相关文章
相关标签/搜索