如何在 Ubuntu 22.04 上使用 Poetry 将 Python 包发布到 PyPI如何在 Ubuntu 22.04 上使用 Poetry 将 Python 包发布到 PyPI如何在 Ubuntu 22.04 上使用 Poetry 将 Python 包发布到 PyPI如何在 Ubuntu 22.04 上使用 Poetry 将 Python 包发布到 PyPI
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Ubuntu 22.04 上使用 Poetry 将 Python 包发布到 PyPI

介绍

PyPI 是用于上传和下载 Python 包的官方 Python 存储库,将在本教程中使用。它是 Python 包的官方第三方源,由 Python 软件基金会运营。在 PyPI 上发布您的包可以使其公开供您自己或其他任何人安装。

在本教程中,您将创建一个 PyPI 帐户,使用您的帐户设置令牌身份验证以启用与 Poetry 的使用,然后构建并将打包的项目发布到 PyPI 上。这也将使您能够将已发布的包添加为其他 Python 项目的依赖项。

先决条件

  • 一台 Ubuntu 22.04 服务器,根据我们的 Ubuntu 22.04 初始服务器设置指南进行设置,非根用户拥有 sudo 权限并启用了防火墙。
  • 按照如何在 Ubuntu 22.04 服务器上安装 Python 3 和设置编程环境的第 1 步,在您的计算机上安装最新版本的 Python 3。
  • 按照本指南将 Poetry 安装在您的系统上,以了解如何在 Ubuntu 22.04 上安装 Poetry 以管理 Python 依赖项。

第 1 步 — 创建 PyPI 帐户

为了将包发布到 PyPI,您需要创建一个帐户。在您的网络浏览器中转到官方注册页面:

接下来,您需要启用令牌身份验证,以便在 Poetry 中安全地使用您的 PyPI 凭据。

第 2 步 — 为 PyPI 启用令牌身份验证

令牌身份验证是在命令行中使用 PyPI 帐户的推荐方式。您可以使用单个自动生成的令牌代替用户名和密码。可以随时添加和撤销令牌,或授予对您帐户部分的精细访问权限。这使它们更加安全,并避免了密码被泄露的风险。您需要通过导航到您的帐户设置为您的帐户创建一个新的 API 令牌:

向下滚动,直到到达“API 令牌”部分。单击“添加 API 令牌”:

在下一页上,您可以命名您的代币。本教程将其命名为 poetry,但您可以随意选择您喜欢的任何名称:

创建令牌后,复制令牌很重要,因为它只会显示一次。这是 API 令牌的常见做法,允许您根据需要创建一个新令牌,因此请在继续之前记下您的令牌。

您现在将使用此令牌在 Poetry 中配置您的凭据以准备发布。您无需将 API 令牌附加到 Poetry 中需要它的每个命令,而是使用 Poetry 的 config 命令执行一次。

使用以下命令将您的 API 令牌添加到 Poetry:

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

添加您的 API 令牌作为您的凭据后,Poetry 将通知您您的凭据存储在纯文本文件中。如果您使用传统的用户名和密码作为凭据,这将是一个问题。鉴于令牌可以轻松删除和更新,同时也是随机生成的并且对于单个用例是唯一的,这使得令牌存储在这里成为一种安全的权衡取舍。或者,您可以选择为每个命令手动输入 API 令牌。

有了这个,您就可以构建并发布您的项目了。

第 3 步 — 构建您的项目

构建与打包项目相同,这是发布项目之前的必要步骤。要构建您的项目,请输入以下内容:

poetry build
Output
Building sammy-poetry (0.1.0) - Building sdist - Built sammy-poetry-0.1.0.tar.gz - Building wheel - Built sammy_poetry-0.1.0-py3-none-any.whl

将输出两个文件。首先是源代码,它是 sdist,输出到 tar.gz 文件。其次是编译包,它是 wheel,输出到 .whl 文件。有了这些文件,您现在就可以将 Python 包发布到 PyPI 了。

第 4 步 — 将 Python 包发布到 PyPI

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

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

poetry publish
Output
Publishing sammy-poetry (0.1.0) to PyPI - Uploading sammy-poetry-0.1.0.tar.gz 100% - Uploading sammy_poetry-0.1.0-py3-none-any.whl 100%

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

您的包已发布,可在 PyPI 上公开使用,也可通过 Poetry 作为依赖项使用。您可以将自己发布的包添加为其他 Python 项目中的依赖项。

注意:通过将以下标志添加到您的 publish 调用,您可以在一条命令中构建您的包并将其发布到 PyPI:

  1. poetry publish --build

根据您的项目和工作流的成熟度,这可能会更有效。

结论

在本教程中,您使用了 Poetry 的构建和发布功能。您创建了一个 PyPI 帐户,使用 Poetry 设置了 API 令牌身份验证,然后在发布之前编译了您的项目。您的包作为依赖项公开可用,甚至可以通过 Poetry 作为依赖项包含在内。

接下来,您可能想通过查看我们的如何使用 Python 编写代码教程系列来更深入地研究 Python。

©2015-2025 艾丽卡 support@alaica.com