构建自定义 Python 包并将其发布到 PyPI

构建自定义 Python 包并将其发布到 PyPI
作者: Fortune Uwha

Python 允许您重复使用代码并共享代码以节省时间和精力。所以,您已经创建了一些方便的脚本,希望您的同事或其他人可以使用 – 下一步是什么?本文解决了打包和分发的问题。我们将重点介绍如何将您的代码转换为 Python 包,以便人们可以轻松安装它。

阅读完本文后,你将能够:

了解 Python 包的要求
构建 Python 包或将现 美国电话号码列表 有项目转换为包
pip 安装自建包
首先,为什么要使用 Python 包?

关于难以管理的代码的 meme
图片来源:Paul Barry 撰写的《Head First Python》第二版

为什么要构建 Python 包?

想象一下,每次要解 发送基于文本的电子邮件的功能更强大 析特定格式的文件时,您都必须从头开始编写代码。您将永远无法完成任何事情!包是编程中必不可少的构建块。如果没有包,我们将花费大量时间编写已经编写的代码。这就是我们总是想使用包的原因。包是 Python 分层命名空间概念的体现。引用 Python 之禅:

“命名空间是一个非常好的主意——让我们多做一些这样的事情!”
要查看整个 Python 之禅,请在 Python 代码单元中键入 import this。即使您不想将代码提供给其他人,结构良好的包也可以简化开发。

构建你自己的 Python 包

README 结构,并包含一个你 购买线索 可以使用的免费模板。
setup.py:这是告诉 pip 如何安装我们实际的包。它包含对“setup tools”包中的 setup 函数的一次调用。Setuptool 是最常见和最强大的工具之一。文档很好地介绍了所有细节。调用 setup() 时 100% 必要的参数如下:

name:你的包在 PyPI 上显示的名称

version:软件包的当前版本。版本号可以使用多种不同的方案。对于 Python 项目, PEP 440给出了一些建议。但是,为了灵活,PEP 很复杂。对于简单的项目,语义版本控制是一种很好的默认方案。我们的示例项目的示例是 version:0.0.1。
packages: packages 参数接受一个包列表。在我们的示例中,只有一个包:calculator。在较大的项目中,可能有许多包需要列出。为了简化这项工作,setuptools 有一个find_packages()功能,它可以很好地发现所有子包。
您可以在此处的Pypa 示例 github 项目 repo 中找到配置项目中列出的这些文件的示例。

在 PyPI 上上传 Python 包

用米色纸和黑色丝带包裹礼物的手
图片来源: Pexels
现在您的代码已正确打包并准备好供全世界查看!如果您已经做到了这一点,请给自己一点鼓励,您已经取得了很大的进步,您快要成功了 :)。在本节中,您将了解如何将您的包实际上传到 PyPI。

首先,您需要一个 PyPI 帐户。如果您还没有帐户,现在是创建一个的好时机。您可以在此处注册一个 PyPi 帐户。请记住您的用户名(注意:不是姓名,也不是电子邮件地址)和密码,稍后您将需要它来进行上传过程。

现在到了您一直在等待的时刻,最后一个命令!

 

请记住在请求时提供您的用户名和密码,就这样!恭喜您上传了您的第一个 python 包,请访问 https://pypi.org/project/your-package-name/ 在 PyPI 上查看您的包。

在 PyPI 上使用 pip 安装自定义包
看到自己的代码被 pip 安装的感觉真是太棒了!想试试吗?您可以通过以下方式在 PyPI 上安装新上传的包:

pip install your-python-package

在 GitHub 上使用 pip 安装自定义包
或者,您可以直接从 Github 安装您的代码。

创建一个存储库并将所有代码文件推送到该存储库(就像我们上面所做的那样)。
复制你的存储库的 URL。现在你可以通过以下方式进行 pip 安装:

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注