Pipenv - 官方推荐的的python包管理工具

pipenv- 官方推荐的的python包管理工具。
pipenv是一款旨在将所有包管理工具(如bundler, composer,npm, cargo, yarn等)的优点集中应用于python领域中的工具。它对各个平台都有很好的支持。
它可以为你的项目自动创建和管理虚拟环境,并且在你安装/删除包时自动在pipfile中添加/移除相应的包。它同时生成一个非常重要的pipfile.lock文件,来保证所构建环境的确定性。
pipenv想要解决的问题是多方面的:
你不需要再分别使用pip和virtualenv,在pipenv中他们一起工作
管理一个requirements.txt文件会产生很多问题,所以pipenv用后面会出现的pipfile和pipfile.lock将其代替,这在实际例子中效果会更好。
为了安全性,哈希在多处被使用。自动公开安全漏洞。
让你通过图形深入了解当前的依赖关系($ pipenv graph)
通过加载.env文件简化开发流程
安装
windows环境:
$ pip install pipenv
如果你使用的是macos,你可以使用homebrew安装:
$ brew install pipenv
用户的好评
jannis leidel, former pip maintainer—
pipenv是一个精品,是我一直想将pip打造成的样子,它符合我的思维习惯,基本替代了virtualenvwrapper,并减少了很多手动的pip操作。使用它吧!
justin myles holmes—
pipenv最终是一种抽象的概念,它意味着要让人的头脑(而不仅仅是文件系统)参与其中。
isaac sanders—
pipenv是我今天遇到最好的事情。 谢谢,kenneth!
特性
容易的实现确定性构建,同时可轻易地指定你想要的内容
在锁定依赖项时,生成并检查文件的哈希
如果pyenv可用,自动安装所需要的python
通过查找pipfile,递归的自动查找你的项目
如果pipfile不存在,则自动生成一个
在标准地址自动创建一个虚拟环境
当包被安装或者删除时,自动在pipfile中修改。
如果.env文件存在,则自动载入
主要命令包括 install,uninstall,以及lock(生成pipfile.lock)。这些命令可以替代$ pip install使用以及对虚拟环境的手动管理(激活虚拟环境,只需运行$ pipenv shell)
基本概念
当虚拟环境不存在时,会自动创建一个
当没有参数传给 install 时,将安装所有指定的包
通过 $ pipenv --three,初始化一个python3的虚拟环境
通过$ pipenv --two,初始化一个python2的虚拟环境
其他命令下生成的虚拟环境都是默认设置
其他命令
shell命令会生成一个激活了虚拟环境的shell
run将运行输入到虚拟环境的命令,并转发所有参数(e.g.$ pipenv run python)
check确定当前环境满足pep 508的要求
graph将输出一个包含当前所有已安装依赖的漂亮图形
shell 补全
举个例子,使用fish shell,将下列命令加入~/.config/fish/completions/pipenv.fish:
eval (pipenv --completion)
另外,也可以使用bash,将下列代码加入 .bashrc 或者 .bash_profile:
eval $(pipenv --completion)
神奇的shell补全功能现在已经可以使用了!(fish 是最好的shell,你应该使用它)
应用
定位项目:
定位虚拟环境:
定位python解释器:
安装包:
安装一个开发环境依赖:
展示一个依赖图:
生成一个lockfile:
安装所有开发依赖:
卸载全部:
使用shell:

cd4046引脚图及功能_cd4046倍频电路设计详解
晶体知识—晶粒长大与再结晶退火浅析
高通变革商业模式:巨头的恐惧
诚迈科技旗下智达诚远参加BlackBerry QNX TECHForum
无人驾驶渐成趋势 沃尔沃推出不同于特斯拉的新方向
Pipenv - 官方推荐的的python包管理工具
传苹果公司预计将在2018年把大部分MacBook订单转移给富士康
【产品应用】AWorksLP 样例详解(MR6450)—— HWTimer
锂电池保护板为什么要带充电均衡呢?
DMS2220LFDB/DMS2120LFWB/DMP216
ADC模拟芯片产业的特点是什么
抓好科技创新片区结合“三城一区”建设
360计划区块链方面进行安全研究
电动助力车的正确使用与保养
二保焊焊接工艺参数
DS1265W 8Mb非易失(NV) SRAM
中国PCB行业增速高于全球平均 车用PCB行业是潜力板块
什么时候买5G手机最适合
英国政府将限制采用华为设备的比例不能超过整体网络的50%以上
常见eSPI通讯数据包的分析