diff --git a/translated/tech/20210308 How to use Poetry to manage your Python projects on Fedora.md b/published/20210308 How to use Poetry to manage your Python projects on Fedora.md similarity index 71% rename from translated/tech/20210308 How to use Poetry to manage your Python projects on Fedora.md rename to published/20210308 How to use Poetry to manage your Python projects on Fedora.md index 31c623daee..6692e699d1 100644 --- a/translated/tech/20210308 How to use Poetry to manage your Python projects on Fedora.md +++ b/published/20210308 How to use Poetry to manage your Python projects on Fedora.md @@ -3,22 +3,22 @@ [#]: author: (Kader Miyanyedi https://fedoramagazine.org/author/moonkat/) [#]: collector: (lujun9972) [#]: translator: (geekpi) -[#]: reviewer: ( ) -[#]: publisher: ( ) -[#]: url: ( ) +[#]: reviewer: (wxy) +[#]: publisher: (wxy) +[#]: url: (https://linux.cn/article-13202-1.html) 如何在 Fedora 上使用 Poetry 来管理你的 Python 项目? ====== ![Python & Poetry on Fedora][1] -Python 开发人员经常创建一个新的虚拟环境来分离项目依赖,然后用 _pip、pipenv_ 等工具来管理它们。Poetry 是一个简化 Python 中依赖管理和打包的工具。这篇文章将向你展示如何在 Fedora 上使用 Poetry 来管理你的 Python 项目。 +Python 开发人员经常创建一个新的虚拟环境来分离项目依赖,然后用 `pip`、`pipenv` 等工具来管理它们。Poetry 是一个简化 Python 中依赖管理和打包的工具。这篇文章将向你展示如何在 Fedora 上使用 Poetry 来管理你的 Python 项目。 -与其他工具不同,Poetry 只使用一个配置文件来进行依赖管理、打包和发布。这消除了对不同文件的需求,如 _Pipfile、MANIFEST.in、setup.py_ 等。这也比使用多个工具更快。 +与其他工具不同,Poetry 只使用一个配置文件来进行依赖管理、打包和发布。这消除了对不同文件的需求,如 `Pipfile`、`MANIFEST.in`、`setup.py` 等。这也比使用多个工具更快。 下面详细介绍一下开始使用 Poetry 时使用的命令。 -### **在 Fedora 上安装 Poetry** +### 在 Fedora 上安装 Poetry 如果你已经使用 Fedora 32 或以上版本,你可以使用这个命令直接从命令行安装 Poetry: @@ -26,22 +26,20 @@ Python 开发人员经常创建一个新的虚拟环境来分离项目依赖, $ sudo dnf install poetry ``` -``` 编者注:在 Fedora Silverblue 或 CoreOs上,Python 3.9.2 是核心提交的一部分,你可以用下面的命令安装 Poetry: + ``` - rpm-ostree install poetry - +``` ### 初始化一个项目 -使用 _new_ 命令创建一个新项目。 +使用 `new` 命令创建一个新项目: ``` $ poetry new poetry-project ``` -The structure of a project created with Poetry looks like this: 用 Poetry 创建的项目结构是这样的: ``` @@ -54,7 +52,7 @@ The structure of a project created with Poetry looks like this: └── test_poetry_project.py ``` -Poetry 使用 _pyproject.toml_ 来管理项目的依赖。最初,这个文件看起来类似于这样: +Poetry 使用 `pyproject.toml` 来管理项目的依赖。最初,这个文件看起来类似于这样: ``` [tool.poetry] @@ -81,10 +79,7 @@ build-backend = "poetry.masonry.api" * 第三部分包含开发依赖。 * 第四部分描述的是符合 [PEP 517][2] 的构建系统。 - - - -如果你已经有一个项目,或者创建了自己的项目文件夹,并且你想使用 Poetry,请在你的项目中运行 _init_ 命令。 +如果你已经有一个项目,或者创建了自己的项目文件夹,并且你想使用 Poetry,请在你的项目中运行 `init` 命令。 ``` $ poetry init @@ -100,7 +95,7 @@ $ poetry init $ poetry shell ``` -Poetry 默认在 _/home/username/.cache/pypoetry_ 项目中创建虚拟环境。你可以通过编辑 poetry 配置来更改默认路径。使用下面的命令查看配置列表: +Poetry 默认在 `/home/username/.cache/pypoetry` 项目中创建虚拟环境。你可以通过编辑 Poetry 配置来更改默认路径。使用下面的命令查看配置列表: ``` $ poetry config --list @@ -111,7 +106,7 @@ virtualenvs.in-project = true virtualenvs.path = "{cache-dir}/virtualenvs" ``` -修改 _virtualenvs.in-project_ 配置变量,在项目目录下创建一个虚拟环境。Poetry 命令是: +修改 `virtualenvs.in-project` 配置变量,在项目目录下创建一个虚拟环境。Poetry 命令是: ``` $ poetry config virtualenv.in-project true @@ -119,27 +114,27 @@ $ poetry config virtualenv.in-project true ### 添加依赖 -使用 _poetry add_ 命令为项目安装一个依赖。 +使用 `poetry add` 命令为项目安装一个依赖: ``` $ poetry add django ``` -你可以使用带有 _-dev_ 选项的 _add_ 命令来识别任何只用于开发环境的依赖。 +你可以使用带有 `--dev` 选项的 `add` 命令来识别任何只用于开发环境的依赖: ``` $ poetry add black --dev ``` -**add** 命令会创建一个 _poetry.lock_ 文件,用来跟踪软件包的版本。如果 _poetry.lock_ 文件不存在,那么会安装 _pyproject.toml_ 中所有依赖项的最新版本。如果 _poetry.lock_ 存在,Poetry 会使用文件中列出的确切版本,以确保每个使用这个项目的人的软件包版本是一致的。 +`add` 命令会创建一个 `poetry.lock` 文件,用来跟踪软件包的版本。如果 `poetry.lock` 文件不存在,那么会安装 `pyproject.toml` 中所有依赖项的最新版本。如果 `poetry.lock` 存在,Poetry 会使用文件中列出的确切版本,以确保每个使用这个项目的人的软件包版本是一致的。 -使用 poetry _install_ 命令来安装当前项目中的所有依赖。 +使用 `poetry install` 命令来安装当前项目中的所有依赖: ``` $ poetry install ``` -通过使用 _no-dev_ 选项防止安装开发依赖。 +通过使用 `--no-dev` 选项防止安装开发依赖: ``` $ poetry install --no-dev @@ -147,7 +142,7 @@ $ poetry install --no-dev ### 列出软件包 -_show_ 命令会列出所有可用的软件包。_tree_ 选项将以树状列出软件包。 +`show` 命令会列出所有可用的软件包。`--tree` 选项将以树状列出软件包: ``` $ poetry show --tree @@ -158,7 +153,7 @@ django 3.1.7 A high-level Python Web framework that encourages rapid development └── sqlparse >=0.2.2 ``` -包含软件包名称,以列出特定软件包的详细信息。 +包含软件包名称,以列出特定软件包的详细信息: ``` $ poetry show requests @@ -174,7 +169,7 @@ dependencies - urllib3 >=1.21.1,<1.27 ``` -最后,如果你想知道软件包的最新版本,你可以通过 _latest_ 选项。 +最后,如果你想知道软件包的最新版本,你可以通过 `--latest` 选项: ``` $ poetry show --latest @@ -194,7 +189,7 @@ via: https://fedoramagazine.org/how-to-use-poetry-to-manage-your-python-projects 作者:[Kader Miyanyedi][a] 选题:[lujun9972][b] 译者:[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/) 荣誉推出