Pipenv – 官方推荐的 Python 打包工具

[ad_1]

前几天我们发布了一个初学者指南 使用 PIP 管理 Python 包. 在该指南中,我们讨论了如何安装 pip,以及如何使用 pip 安装、更新、卸载 Python 包。 我们还讨论了虚拟环境的重要性以及如何使用 venv 和 virtualvnv 工具创建虚拟环境。 今天,我们将学习另一个名为的python包管理器 管道. 它是 Python.org 新推荐的 Python 打包工具。 它可用于轻松安装和管理 python 依赖项,而无需创建虚拟环境。 Pipenv 会自动为您的项目创建和管理 virtualenv。 它还会在您安装/卸载软件包时从您的 Pipfile 中添加/删除软件包。

内容

  1. 为什么选择 Pipenv?
  2. 安装官方推荐的 Python 打包工具 Pipenv
    1. 1.使用pip安装pipenv
    2. 2.使用pipsi安装pipenv
  3. 使用 Pipenv 管理 Python 包
    1. 帮助我们帮助您:

为什么选择 Pipenv?

Pipenv 解决了以下实时问题:

  • 您不再需要创建虚拟环境。 Pipenv 会自动为你的项目创建 virtualenv。 简单地说,pip 和 virtualenv 一起工作。
  • 管理一个 要求.txt 文件可能有问题,因此 Pipenv 使用即将推出的 Pipfile 和 Pipfile.lock 代替,这对于基本用例来说是优越的。
  • 它是安全的。 哈希值无处不在,总是如此。 自动暴露安全漏洞。
  • 随时查看依赖关系图。
  • 通过加载 .env 文件简化开发工作流程。

好吧,让我们开始吧。

安装 Pipenv 的方法有很多。 我们将看到两种官方推荐的方法。

1.使用pip安装pipenv

官方推荐的方式是使用 点子. 确保你已经安装了 python 和 pip。 如果没有,请参阅本文第一段中链接的我们之前的指南。

安装 pip 后,运行以下命令安装 pipenv。

$ pip install --user pipenv

此命令将在用户级别(即不是系统范围)安装 pipenv。 如果安装后 pipenv 在你的 shell 中不可用,你可能需要添加你的 用户库的二进制目录 到你的路径。 如果您不知道您的用户群是什么,请运行以下命令来查找:

$ python -m site --user-base

你会看到类似下面的输出。

/home/sk/.local

正如您在上面的输出中看到的,我的用户基目录是 /home/sk/.local,我的基地的二进制目录是 /home/sk/.local/bin. 清除? 好的。 现在将它添加到您的 PATH 中。 为此,请编辑您的 ~/.profile 文件:

$ vi ~/.profile

在最后添加这一行:

export PATH="$HOME/.local/bin:$PATH"

退出 键和类型 :wq 保存并退出文件。 然后,运行以下命令使更改生效。

$ source ~/.profile

最后,运行以下命令:

$ pipenv --update

要随时升级 pipenv,请运行以下命令:

$ pip install --user --upgrade pipenv

2.使用pipsi安装pipenv

Pipsi 是一个强大的工具,它允许您将 Python 脚本安装到隔离的虚拟环境中。

要安装 pipsi,请运行:

$ curl https://raw.githubusercontent.com/mitsuhiko/pipsi/master/get-pipsi.py | python

按照屏幕上的说明进行操作,您必须更新 PATH。

安装 pipsi 后,运行以下命令安装 pipenv:

$ pipsi install pew
$ pipsi install pipenv

最后,运行以下命令:

$ pipenv --update

要随时升级 pipenv,只需运行:

$ pipsi upgrade pipenv

使用 Pipenv 管理 Python 包

在您的 shell 中运行“pipenv”以显示可用命令和常规选项的列表。

$ pipenv

示例输出为:

安装包

创建一个新项目或转到现有项目的目录。

$ mkdir myproject
$ cd myproject

为您的项目安装软件包:

$ pipenv install requests

当你 ls 进入您的项目目录(即本例中的 myproject),您将看到两个文件,即 点文件, 和 Pipfile.lock. Pipfile 包含新安装的包的信息,例如名称、版本等。您可以使用它 点文件 当您想重新安装或与他人共享项目时,跟踪您的项目需要哪些依赖项。

$ cat Pipfile

而且,Pipfile.lock 包含您的系统信息、已安装包的所有依赖项(包括其版本)以及所有已安装包及其依赖项的所有哈希值。

$ cat Pipfile.lock

现在安装另一个包并再次检查这两个文件的内容。 您会注意到 Pidfile 现在包含两个包。 而且,Pidfile.lock 包含已安装包的所有依赖项,包括它们的版本,以及所有已安装包及其依赖项的所有哈希值。 简单来说,这两个文件将在您每次安装新软件包时自动更新。

你注意到了吗? 我还没有创建任何虚拟环境。 Pipenv 自动为我的项目创建了虚拟环境。 想知道您的项目存储在哪里? 只需运行此命令即可了解您的虚拟环境位置。

$ pipenv --venv
/home/sk/.local/share/virtualenvs/myproject-x7-2XYPN

要查看项目的主页详细信息,请运行:

$ pipenv --where
/home/sk/myproject

正如你可以在两个输出中一样, “/home/sk/myproject” 是我项目的主目录和 “/home/sk/.local/share/virtualenvs/myproject-x7-2XYPN” 是我的虚拟环境。

您可以“ls”进入您的 virtualenv 以检查其中的内容。

$ ls /home/sk/.local/share/virtualenvs/myproject-x7-2XYPN

更新包

要更新所有软件包,请运行:

$ pipenv update

此命令将卸载所有软件包,并将软件包重新安装到最新的兼容版本。

检查包的完整性

您是否担心安装的软件包中是否存在任何安全漏洞? 没问题! Pipenv 得到了你的支持。 要检查包的完整性,只需运行以下命令:

$ pipenv check
Checking PEP 508 requirements…
Passed!
Checking installed package safety…
All good!

上述命令检查安全漏洞并对照 Pipfile 中提供的 PEP 508 标记。

查看依赖图

让我们运行 ‘pipenv graph’ 看看会发生什么。

$ pipenv graph

如您所见,此命令显示依赖关系图。

卸载软件包

要删除包,请运行:

$ pipenv uninstall requests
Un-installing speedtest-cli…
Uninstalling speedtest-cli-1.0.7:
 Successfully uninstalled speedtest-cli-1.0.7

Removing speedtest-cli from Pipfile…
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
Updated Pipfile.lock (c23e27)!

要卸载所有内容,请运行:

$ pipenv uninstall --all
Un-installing all packages from virtualenv…
Found 1 installed package(s), purging…

Environment now purged and fresh!

有关更多详细信息,请运行:

$ pipenv -h

或者,

$ pipenv --man

据我测试,Pipenv 比 pip 更容易使用。 由于它是 Python.org 官方推荐的,你现在可以在安装 Python 包时完全摆脱 venv 和 virtualenv。

建议阅读:

  • Pipx – 在隔离环境中安装和运行 Python 应用程序

资源:

  • Pipenv GitHub 页面
  • Pipenv 网站

感谢您的光临!

帮助我们帮助您:

  • 订阅我们的电子邮件通讯: 立即注册
  • 支持 OSTechNix: 通过贝宝捐款
  • 下载免费的电子书和视频: TradePub 上的 OSTechNix
  • 联系我们: 红迪网 | Facebook | 推特 | 领英 | RSS订阅

祝你有美好的一天!!

Linux包管理pippipenvPythonPython打包工具

[ad_2]

Related Posts