Pipenv:面向人类的 Python 开发工作流程 — pipenv 文档

来自菜鸟教程
Pipenv/docs/v2020.11.15/index
跳转至:导航、​搜索

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 寻求解决的问题是多方面的:

  • 您不再需要分别使用 pipvirtualenv。 他们一起工作。
  • 管理 requirements.txt 文件 可能会有问题 ,因此 Pipenv 使用 PipfilePipfile.lock 将抽象依赖声明与上次测试的组合分开。
  • 哈希值无处不在,总是如此。 安全。 自动暴露安全漏洞。
  • 强烈鼓励使用最新版本的依赖项,以尽量减少因过时组件 引起的安全风险
  • 让您深入了解您的依赖关系图(例如 $ pipenv graph)。
  • 通过加载 .env 文件简化开发工作流程。

您可以直接在浏览器中快速使用 Pipenv:

Try in browser

立即安装 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 文件(如果存在)。

主要命令是installuninstalllock,它们生成一个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 要求。


更多文档指南


指数和表格