Pipenv:面向人类的 Python 开发工作流程 — pipenv 文档
Pipenv:面向人类的 Python 开发工作流程
https://img.shields.io/pypi/v/pipenv.svg https://img.shields.io/pypi/l/pipenv.svg https://img.shields.io/pypi/pyversions/pipenv.svg
Pipenv 是一个工具,旨在将所有打包世界(bundler、composer、npm、cargo、yarn 等)的精华带到 Python 世界。 Windows 是一等公民,在我们的世界。
它会自动为您的项目创建和管理 virtualenv,并在您安装/卸载软件包时从 Pipfile
中添加/删除软件包。 它还生成非常重要的 Pipfile.lock
,用于生成确定性构建。
Pipenv 主要旨在为应用程序的用户和开发人员提供一种设置工作环境的简单方法。 关于库和应用的区别以及使用setup.py
vs Pipfile
来定义依赖,参见☤ Pipfile vs setup.py。
a short animation of pipenv at work Pipenv 寻求解决的问题是多方面的:
- 您不再需要分别使用
pip
和virtualenv
。 他们一起工作。 - 管理
requirements.txt
文件 可能会有问题 ,因此 Pipenv 使用Pipfile
和Pipfile.lock
将抽象依赖声明与上次测试的组合分开。 - 哈希值无处不在,总是如此。 安全。 自动暴露安全漏洞。
- 强烈鼓励使用最新版本的依赖项,以尽量减少因过时组件 引起的安全风险 。
- 让您深入了解您的依赖关系图(例如
$ pipenv graph
)。 - 通过加载
.env
文件简化开发工作流程。
您可以直接在浏览器中快速使用 Pipenv:
立即安装 Pipenv!
如果您使用的是 MacOS,则可以使用 Homebrew 轻松安装 Pipenv。 您还可以使用相同的命令在 Linux 上使用 Linuxbrew:
$ brew install pipenv
或者,如果您使用的是 Fedora 28:
$ sudo dnf install pipenv
否则,请参阅 ☤ 安装 Pipenv 章节的说明。
✨🍰✨
用户评价
- 大卫刚—
- 这个包管理器真的很棒。 我第一次确切地知道我安装了什么依赖项以及传递依赖项是什么。 结合安装是确定性的事实,使这个包管理器成为一流的,就像货物一样 .
- 贾斯汀迈尔斯福尔摩斯—
- Pipenv 最终是一种抽象,旨在吸引人们的注意力,而不仅仅是文件系统。
☤ Pipenv 特点
- 启用真正的 确定性构建 ,同时轻松指定 仅您想要的内容 。
- 为锁定的依赖项生成并检查文件哈希。
- 如果
pyenv
可用,则自动安装所需的 Python。 - 通过查找
Pipfile
,递归地自动找到您的项目主页。 - 如果不存在,则自动生成
Pipfile
。 - 在标准位置自动创建一个 virtualenv。
- 在安装或卸载包时自动向
Pipfile
添加/删除包。 - 自动加载
.env
文件(如果存在)。
主要命令是install
、uninstall
和lock
,它们生成一个Pipfile.lock
。 这些旨在取代 $ pip install
的使用,以及手动 virtualenv 管理(要激活 virtualenv,运行 $ pipenv shell
)。
基本概念
- 当一个 virtualenv 不存在时,将自动创建一个 virtualenv。
- 当没有参数传递给
install
时,将安装所有指定的包[packages]
。 - 要初始化 Python 3 虚拟环境,请运行
$ pipenv --three
。 - 要初始化 Python 2 虚拟环境,请运行
$ pipenv --two
。 - 否则,virtualenv 默认设置为默认值。
其他命令
graph
将显示已安装依赖项的依赖关系图。shell
将生成一个激活了 virtualenv 的 shell。 可以使用exit
停用此外壳。run
将运行来自 virtualenv 的给定命令,并转发任何参数(例如$ pipenv run python
或$ pipenv run pip freeze
)。check
检查安全漏洞并断言当前环境满足 PEP 508 要求。
更多文档指南
- Pipenv 的基本用法
- Pipenv 的高级用法
- ☤ 注意事项
- ☤ 指定包索引
- ☤ 使用 PyPI 镜像
- ☤ 通过环境变量将凭据注入 Pipfiles
- ☤ 基本上什么都指定
- ☤ 使用 pipenv 进行部署
- ☤ Pipenv 和其他 Python 发行版
- ☤ 生成
requirements.txt
- ☤ 安全漏洞检测
- ☤ 社区整合
- ☤ 在你的编辑器中打开一个模块
- ☤ 自动安装Python
- ☤ 自动加载
.env
- ☤ 自定义脚本快捷键
- ☤ 支持环境变量
- ☤ 配置环境变量
- ☤ 自定义虚拟环境位置
- ☤ 测试项目
- ☤ 壳完成
- ☤ 使用平台提供的 Python 组件
- ☤ Pipfile 与 setup.py
- ☤ 改变 Pipenv 的缓存位置
- ☤ 更改默认 Python 版本
- Pipenv CLI 参考
- 经常遇到的 Pipenv 问题