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

引言

诗歌是一个用于Python的依赖管理器,它还能够构建和打包Python项目以供分发。PyPI是官方的Python包上传和下载仓库,在本教程中将使用它。它是Python包的官方第三方来源,由Python软件基金会运营。在PyPI上发布您的包使其公开可供自己或任何其他人安装。

在本教程中,您将创建一个PyPI帐户,通过设置令牌身份验证与您的帐户连接,以便在Poetry中使用。然后您将构建并发布您的打包项目到PyPI上。这还将使您能够将您发布的软件包作为其他Python项目的依赖项添加进去。

先决条件

  • An Ubuntu 22.04 server, set up according to our initial server setup guide for Ubuntu 22.04, with a non-root user with sudo privileges and a firewall enabled.
  • The latest version of Python 3 installed on your machine following Step 1 of how to install Python 3 and set up a programming environment on an Ubuntu 22.04 server.
  • Poetry installed on your system, following this guide on how to install Poetry to manage Python dependencies on Ubuntu 22.04.

第一步 – 创建一个 PyPI 账户

为了将软件包发布到PyPI,您需要创建一个账户。打开您的网络浏览器并访问官方注册页面。

PyPI Signup Page

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

第二步-为PyPI启用令牌身份验证

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

PyPI Account Settings

向下滚动直到您达到“API令牌”部分。点击“添加API令牌”。

PyPI Add API Token

在接下来的页面上,你可以给你的代币命名。本教程将其命名为”诗歌”,但你可以随意选择任何你喜欢的名字。

PyPI API Token Creation

一旦您的令牌创建成功,重要的是将其复制,因为令牌只会显示一次。这是使用允许您根据需要生成新令牌的API令牌常见做法,所以请在继续之前记下您的令牌。

PyPI Copy Warning

现在,您将使用此令牌在Poetry中配置您的凭据,以准备发布。不要再将API令牌附加到Poetry中所需的每个命令中,而是只需使用Poetry的config命令进行一次操作即可。

请使用以下命令将API令牌添加到Poetry中:

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

 

添加您的API令牌作为您的凭据后,Poetry将会通知您,您的凭据已存储在一个明文文件中。如果您在使用传统的用户名和密码作为凭据,则这可能会成为一个问题。鉴于令牌可以轻松删除和更新,同时令牌也是随机生成并且唯一对应于单个用例,这使得在此处存储令牌成为了方便的安全折衷。或者,您可以选择为每个命令手动输入您的API令牌。

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

第三步 — 构建你的项目

构建项目就是打包项目,这是在发布前必须进行的步骤。要构建你的项目,请输入以下内容:

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了。

第四步-将您的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 Your Uploaded Package

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

Note

注意:你可以通过在发布命令中添加以下标记,一步完成构建和发布你的包到PyPI:
poetry publish –build

根据你的项目成熟度和工作流程,这样做可能更加高效。

结论是

在这个教程中,您使用Poetry来进行构建和发布。您创建了一个PyPI帐户,在Poetry中设置了API令牌验证,然后在发布之前编译了您的项目。您的软件包可以作为公共依赖项使用,甚至可以通过Poetry包含为依赖项。

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

发表回复 0

Your email address will not be published. Required fields are marked *


广告
将在 10 秒后关闭
bannerAds