如何在 Ubuntu 22.04 上使用 Poetry 向 PyPI 发布 Python 软件包

介绍

Poetry是Python的依赖管理器,它还能够构建和包装您的Python项目以进行分发。 PyPI是上传和下载Python包的官方Python存储库,并将在本教程中使用。

在本教程中,您将创建一个PyPI帐户,与您的帐户设置代币身份验证以启用与诗歌的使用,然后在PyPI上构建和发布您的包装项目。

前提条件

步骤 1 – 创建一个 PyPI 帐户

要将包发布到 PyPI,您需要创建一个帐户. 进入您的 Web 浏览器中的 官方注册页面:

PyPI Signup Page

接下来,您需要启用代币身份验证,以便安全地使用 PyPI 凭证。

步骤 2 — 允许PyPI的代币身份验证

Token 身份验证是您在命令行中使用 PyPI 帐户的推荐方法. 您可以使用单个自动生成的代码,而不是用户名和密码。 可以随时添加和撤销代码,或向您的帐户部分提供细分访问权限。 这使它们更安全,并避免您的密码遭到破坏的风险。 您需要通过浏览您的 帐户设置为您的帐户创建一个新的 API 代码:

PyPI Account Settings

向下滚动,直到您到达 **API代币**部分。

PyPI Add API Token

在下面的页面上,你可以命名你的代币。本教程将命名它为诗歌,但请自由选择任何你想要的名字:

PyPI API Token Creation

一旦你的代币被创建,重要的是要复制你的代币,因为它只会显示一次,这是一个常见的做法,API代币允许你根据需要创建一个新的代币,所以在继续前记住你的代币。

PyPI Copy Warning

您现在将使用此代码在诗中配置您的身份证件,以便为发布做好准备。而不是将 API 代码附加到诗中需要的每个命令中,您将使用诗的 config 命令一次执行。

用此命令将 API 代码添加到诗歌:

1poetry config pypi-token.pypi your-api-token

随着您的 API 代码作为您的凭证添加,Poetry 将通知您您的凭证存储在一个简单的文本文件中。如果您使用传统的用户名和密码为您的凭证,这将是一个问题。鉴于代币可以很容易地删除和更新,同时也随机生成并独特于一个单一的用例,这使得代码存储在这里成为一个安全的交易,以便方便。

有了这个,你准备好构建,然后发布你的项目。

步骤三:构建你的项目

构建与包装项目相同,这是在您可以发布项目之前所需的一步。

1poetry build
1[secondary_label Output]
2Building sammy-poetry (0.1.0)
3  - Building sdist
4  - Built sammy-poetry-0.1.0.tar.gz
5  - Building wheel
6  - Built sammy_poetry-0.1.0-py3-none-any.whl

将输出两个文件. 首先是sdist的源,输出到tar.gz文件. 其次是编译的包,即轮子,输出到whl文件。

步骤 4 — 将您的 Python 包发布到 PyPI

PyPI 是 Poetry 的默认发布目标. 有了您的身份验证 API 标记,您的发布命令将不再需要包含您的凭证。

要发布您的编译包,请输入以下内容:

1poetry publish
1[secondary_label Output]
2Publishing sammy-poetry (0.1.0) to PyPI
3 - Uploading sammy-poetry-0.1.0.tar.gz 100%
4 - Uploading sammy_poetry-0.1.0-py3-none-any.whl 100%

您现在可以检查已发布的软件包。在浏览器中打开 您的 PyPI 项目

PyPI Your Uploaded Package

您的包被发布,在PyPI上公开可用,并通过诗歌也可以作为依赖。

<$>[注] **注:**您可以通过在发布呼叫中添加以下旗帜来构建和发布您的PyPI包:

1poetry publish --build

这可能更高效,取决于项目和工作流的成熟度 <$>

结论

在本教程中,您已经使用了诗歌的构建和出版能力。您创建了一个PyPI帐户,与诗歌设置了API Token身份验证,然后在发布之前编译了您的项目。

接下来,您可能想通过查看我们的 如何在Python中编码教程系列来深入了解Python。

Published At
Categories with 技术
comments powered by Disqus