[ad_1]
前几天我们发布了一个初学者指南 使用 PIP 管理 Python 包. 在该指南中,我们讨论了如何安装 pip,以及如何使用 pip 安装、更新、卸载 Python 包。 我们还讨论了虚拟环境的重要性以及如何使用 venv 和 virtualvnv 工具创建虚拟环境。 今天,我们将学习另一个名为的python包管理器 管道. 它是 Python.org 新推荐的 Python 打包工具。 它可用于轻松安装和管理 python 依赖项,而无需创建虚拟环境。 Pipenv 会自动为您的项目创建和管理 virtualenv。 它还会在您安装/卸载软件包时从您的 Pipfile 中添加/删除软件包。
内容
为什么选择 Pipenv?
Pipenv 解决了以下实时问题:
- 您不再需要创建虚拟环境。 Pipenv 会自动为你的项目创建 virtualenv。 简单地说,pip 和 virtualenv 一起工作。
- 管理一个 要求.txt 文件可能有问题,因此 Pipenv 使用即将推出的 Pipfile 和 Pipfile.lock 代替,这对于基本用例来说是优越的。
- 它是安全的。 哈希值无处不在,总是如此。 自动暴露安全漏洞。
- 随时查看依赖关系图。
- 通过加载 .env 文件简化开发工作流程。
好吧,让我们开始吧。
安装官方推荐的 Python 打包工具 Pipenv
安装 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]