mirror of
https://github.com/LCTT/TranslateProject.git
synced 2025-01-25 23:11:02 +08:00
Merge pull request #9430 from wxy/20180625-How-to-install-Pipenv-on-Fedora
PRF&PUB:20180625 How to install Pipenv on Fedora
This commit is contained in:
commit
a5315a2822
@ -3,45 +3,46 @@
|
|||||||
|
|
||||||
![](https://fedoramagazine.org/wp-content/uploads/2018/06/pipenv-install-816x345.jpg)
|
![](https://fedoramagazine.org/wp-content/uploads/2018/06/pipenv-install-816x345.jpg)
|
||||||
|
|
||||||
Pipenv 的目标是将最好的打包世界(bundler、composer、npm、cargo、yarn 等)带到 Python 世界。它试图解决一些问题,并简化整个管理过程。
|
Pipenv 的目标是将打包界(bundler、composer、npm、cargo、yarn 等)最好的东西带到 Python 世界来。它试图解决一些问题,并简化整个管理过程。
|
||||||
|
|
||||||
目前,Python 程序依赖项的管理有时似乎是一个挑战。开发人员通常为每个新项目创建一个[虚拟环境][1],并使用 [pip][2] 将依赖项安装到其中。此外,他们必须将已安装的软件包集保存到 requirements.txt 文件中。我们看到过许多旨在自动化此工作流程的工具和包装程序。但是,仍然需要结合多个程序,并且 requirements.txt 格式本身并不适用于更复杂的场景。
|
目前,Python 程序依赖项的管理有时似乎是一个挑战。开发人员通常为每个新项目创建一个[虚拟环境][1],并使用 [pip][2] 将依赖项安装到其中。此外,他们必须将已安装的软件包的集合保存到 `requirements.txt` 文件中。我们看到过许多旨在自动化此工作流程的工具和包装程序。但是,仍然需要结合多个程序,并且 `requirements.txt` 格式本身并不适用于更复杂的场景。
|
||||||
|
|
||||||
### 一个统治它们的工具
|
### 一个统治它们的工具
|
||||||
|
|
||||||
Pipenv 正确地管理复杂的相互依赖关系,它还提供已安装包的手动记录。例如,开发、测试和生产环境通常需要一组不同的包。过去,每个项目需要维护多个 requirements.txt。Pipenv 使用 [TOML][4] 语法引入了新的 [Pipfile][3] 格式。多亏这种格式,你终于可以在单个文件中维护不同环境的多组需求。
|
Pipenv 可以正确地管理复杂的相互依赖关系,它还提供已安装包的手动记录。例如,开发、测试和生产环境通常需要一组不同的包。过去,每个项目需要维护多个 `requirements.txt`。Pipenv 使用 [TOML][4] 语法引入了新的 [Pipfile][3] 格式。多亏这种格式,你终于可以在单个文件中维护不同环境的多组需求。
|
||||||
|
|
||||||
在将第一行代码提交到项目中仅一年后,Pipenv 已成为管理 Python 程序依赖关系的官方推荐工具。现在它终于在 Fedora 仓库中提供。
|
在将第一行代码提交到项目中仅一年后,Pipenv 已成为管理 Python 程序依赖关系的官方推荐工具。现在它终于在 Fedora 仓库中提供。
|
||||||
|
|
||||||
### 在 Fedora 上安装 Pipenv
|
### 在 Fedora 上安装 Pipenv
|
||||||
|
|
||||||
在全新安装 Fedora 28 及更高版本后,你只需在终端上运行此命令即可安装 Pipenv:
|
在全新安装 Fedora 28 及更高版本后,你只需在终端上运行此命令即可安装 Pipenv:
|
||||||
|
|
||||||
```
|
```
|
||||||
$ sudo dnf install pipenv
|
$ sudo dnf install pipenv
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
现在,你的系统已准备好在 Pipenv 的帮助下开始使用新的 Python 3 程序。
|
现在,你的系统已准备好在 Pipenv 的帮助下开始使用新的 Python 3 程序。
|
||||||
|
|
||||||
重要的是,虽然这个工具为程序提供了很好的解决方案,但它并不是为处理库需求而设计的。编写 Python 库时,不需要固定依赖项。你应该在 setup.py 文件中指定 install_requires。
|
重要的是,虽然这个工具为程序提供了很好的解决方案,但它并不是为处理库需求而设计的。编写 Python 库时,不需要固定依赖项。你应该在 `setup.py` 文件中指定 `install_requires`。
|
||||||
|
|
||||||
### 基本依赖管理
|
### 基本依赖管理
|
||||||
|
|
||||||
首先为项目创建一个目录:
|
首先为项目创建一个目录:
|
||||||
|
|
||||||
```
|
```
|
||||||
$ mkdir new-project && cd new-project
|
$ mkdir new-project && cd new-project
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
接下来是为此项目创建虚拟环境:
|
接下来是为此项目创建虚拟环境:
|
||||||
|
|
||||||
```
|
```
|
||||||
$ pipenv --three
|
$ pipenv --three
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
这里的 -three 选项将虚拟环境的 Python 版本设置为 Python 3。
|
这里的 `-three` 选项将虚拟环境的 Python 版本设置为 Python 3。
|
||||||
|
|
||||||
安装依赖项:
|
安装依赖项:
|
||||||
|
|
||||||
```
|
```
|
||||||
$ pipenv install requests
|
$ pipenv install requests
|
||||||
Installing requests…
|
Installing requests…
|
||||||
@ -49,31 +50,29 @@ Adding requests to Pipfile's [packages]…
|
|||||||
Pipfile.lock not found, creating…
|
Pipfile.lock not found, creating…
|
||||||
Locking [dev-packages] dependencies…
|
Locking [dev-packages] dependencies…
|
||||||
Locking [packages] dependencies…
|
Locking [packages] dependencies…
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
最后生成 lockfile:
|
最后生成 lockfile:
|
||||||
|
|
||||||
```
|
```
|
||||||
$ pipenv lock
|
$ pipenv lock
|
||||||
Locking [dev-packages] dependencies…
|
Locking [dev-packages] dependencies…
|
||||||
Locking [packages] dependencies…
|
Locking [packages] dependencies…
|
||||||
Updated Pipfile.lock (b14837)
|
Updated Pipfile.lock (b14837)
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
你还可以检查依赖关系图:
|
你还可以检查依赖关系图:
|
||||||
|
|
||||||
```
|
```
|
||||||
$ pipenv graph
|
$ pipenv graph
|
||||||
- certifi [required: >=2017.4.17, installed: 2018.4.16]
|
- certifi [required: >=2017.4.17, installed: 2018.4.16]
|
||||||
- chardet [required: <3.1.0,>=3.0.2, installed: 3.0.4]
|
- chardet [required: <3.1.0,>=3.0.2, installed: 3.0.4]
|
||||||
- idna [required: <2.8,>=2.5, installed: 2.7]
|
- idna [required: <2.8,>=2.5, installed: 2.7]
|
||||||
- urllib3 [required: >=1.21.1,<1.24, installed: 1.23]
|
- urllib3 [required: >=1.21.1,<1.24, installed: 1.23]
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
有关 Pipenv 及其命令的更多详细信息,请参见[文档][5]。
|
有关 Pipenv 及其命令的更多详细信息,请参见[文档][5]。
|
||||||
|
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
via: https://fedoramagazine.org/install-pipenv-fedora/
|
via: https://fedoramagazine.org/install-pipenv-fedora/
|
||||||
@ -81,7 +80,7 @@ via: https://fedoramagazine.org/install-pipenv-fedora/
|
|||||||
作者:[Michal Cyprian][a]
|
作者:[Michal Cyprian][a]
|
||||||
选题:[lujun9972](https://github.com/lujun9972)
|
选题:[lujun9972](https://github.com/lujun9972)
|
||||||
译者:[geekpi](https://github.com/geekpi)
|
译者:[geekpi](https://github.com/geekpi)
|
||||||
校对:[校对者ID](https://github.com/校对者ID)
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
Loading…
Reference in New Issue
Block a user