如何创建 Python 包 [2023]

根据 2023 年 Stackoverflow 调查,Python 是第三大最常用的编程语言。 这种通用用途可用于数据科学、网络开发、机器学习、软件工程和科学计算。

Python 包是您在学习 Python 语言并与之交互时会遇到的术语之一。 什么是 Python 包?如何创建它们?

本文将;

  • 定义Python包
  • 解释Python包在编程中的重要性
  • 演示如何创建 Python 包
  • 演示如何使用和测试 Python 包
  • 演示如何上传Python包

什么是 Python 包?

Python 包是编程中必不可少的构建块。 如果没有包,开发人员可能会从头开始编写所有内容,从而使编程成为一个漫长而充满压力的过程。 Python 包是 Python 模块的集合,基本上是可重用代码的集合。

Python 中的模块是包含可导入其他 Python 程序的 Python 代码的文件。 要创建 Python 包,必须将代码存储在包含 __init__.py 文件的目录中。

一个 Python 包可以包含其他包(嵌套),并且在线提供了数千个 Python 包。 其中一些软件包是官方的,而另一些则不是。 大多数 Python 包都可以在 https://pypi.org/ 上找到。

Django 是一个 Python Web 框架,是可用于构建 Web 应用程序的包的示例。 Scikit-learn、PyTorch 和 TensorFlow 是机器学习领域流行的软件包。

Python 包的重要性

为什么不作为程序员从头开始创建一切呢? 我们需要Python包吗? 这些是 Python 包很重要的一些原因;

  • 节省时间:Python 包使您可以访问预先编写的代码来解决常见问题。 每当您想要编写 Python 脚本时,您都可以使用 Python 包,而不是重新发明轮子。
  • 使代码分发变得容易:协作在编程中非常常见。 您可以创建一个 Python 包,您的团队成员在协作项目时始终可以导入该包。
  • 代码可重用性:如果您始终需要在 Python 程序中编写代码块,则可以将其打包并导入到您的应用程序中。
  • 代码组织:Python 包允许您将代码组织成逻辑模块。 这种方法使您可以轻松阅读和维护 Python 代码。
  7 款用于增强音频的最佳便携式 DAC/AMP

如何创建你的第一个 Python 包

我们已经说过Python是一种通用语言。 作为程序员,您可以创建不同类型的包。

例如,您可以拥有一个自动执行某些任务的软件包、一个帮助您制定预算的软件包,甚至可以学习一门新语言。 但是,在开始创建第一个包之前,您需要以下内容:

先决条件;

  • Python 安装在您的本地计算机上。 如果您使用 Linux,则默认情况下 Python 会随操作系统一起安装。 您可以使用此命令 python –version 或 python3 –version 检查Python是否已安装。 如果安装了 Python,您将在终端上看到类似的内容;

如果您没有 Python,可以从 https://www.python.org/downloads/ 下载。

  • 对 Python 的理解。 您需要了解如何编写 Python 类、模块和函数。
  • 包管理器。 我们将使用 pip 进行此演示。 您可以使用此命令检查 pip 是否安装;
pip --version

如果安装了,您将在终端上看到类似的内容。

根据您要安装的软件包的性质,要求可能会有所不同。

我将为此演示创建一个简单的 Python 包,用于检查数字是否为质数。 你可以跟随;

  • 第一步:创建项目文件夹。 我将我的命名为 primechecker。
  • 第二步:在 primechecker 文件夹中创建另一个文件夹并将其命名为 prime。
  • 第三步:在第二步中创建的目录中创建一个文件,并将其命名为 prime.py。 您可以使用此命令组合这三个步骤;
 mkdir primechecker && cd primechecker && mkdir prime && cd prime && touch prime.py
  • 第三步:在代码编辑器中打开您的项目。 然后,您可以将此代码添加到 prime.py 文件中,以检查数字是否为质数;
def is_prime(number):

    if number < 2:

        return False

    for i in range(2, int(number ** 0.5) + 1):

        if number % i == 0:

            return False

    return True
  • 第四步:在prime文件夹中,创建一个新文件并将其命名为__init__.py。 该文件使 Python 将我们创建的项目文件夹识别为包。
  如何查看您的谷歌浏览器保存的密码

您可以使用此命令;

touch prime/__init__.py
  • 第五步:测试您的代码。 我们可以在根文件夹内的 test.py 文件中创建一个脚本来检查数字是否为素数。 导航回主文件夹并使用此命令;
touch test.py

然后您可以将此代码添加到该文件中;

from prime.prime import is_prime

number = int(input("Enter a number: "))

result = is_prime(number)

print(f"{number} is prime: {result}")

运行此命令来检查您的代码;

python3 test.py

您现在可以输入一个数字并检查它是否是质数。

例如,我检查了 5 和 1 是否是素数并得到以下结果;

如何在线上传包

您可以在 PyPI(Python 包索引)上托管您创建的包。 这是一个包含数千个 Python 包的中央存储库。 如果您没有帐户,请前往 https://pypi.org/ 并创建一个帐户。

您现在可以按照以下步骤在线上传您的包裹;

  • 步骤1:在根文件夹中创建一个新文件(我的是primechecker)并将其命名为setup.py。
  • 步骤 2:更改 setup.py 文件的内容以包含有关要上传的包的信息。

该文件的代码应如下所示;

from setuptools import setup, find_packages

setup(

    name="primechecker",

    version='1.0.0',

    author="Your Name",

    author_email="[email protected]",

    description='A package for checking prime numbers',

    packages=find_packages(),

)

更改名称、作者、作者电子邮件和描述以适合您的包详细信息。

  • 第 3 步:构建您的包。 仍在根文件夹内运行此命令;
python3 setup.py sdist bdist_wheel

如果检查项目文件夹,您可以在根文件夹中看到两个新文件夹(build 和 dist)。

  • 第四步:安装麻绳。 这是将包上传到 PyPI 所需的包。

使用此命令;

pip install twine
  • 第5步:上传包

使用此命令;

twine upload dist/*

系统将提示您输入用户名和密码。 如果您的包的名称尚未被占用,该包将在线发布,并且您将在终端上获得一个链接。

您刚刚发布的软件包将向公众开放。 任何想要使用该软件包的人都可以使用 pip 下载它。

例如,我发布的包可以下载为:

pip install primechecker==1.0.0.

创建 Python 包的最佳实践

  • 注意 Python 打包标准:尽管您可以自由决定要创建的包类型,但请始终记住 Python 包有您应该遵守的标准。 在开始编写代码之前,请在 https://packaging.python.org/ 上检查这些标准。
  • 在部署之前测试您的包:错误在编程中很常见。 创建用于生成自动化测试的脚本,尤其是在构建大型包时。 这种方法可确保您上传的包没有错误。
  • 版本控制:正确的包应该遵循语义版本控制。 我在演示中创建的包的数字为 1.0.0。 第一位(1)是主要版本,第二位(0)是次要版本,最后一位是补丁。
  • 指定所有依赖项:根据您的需要,您的包内可能有各种依赖项或其他包。 您应该在上传过程中在包的描述中提及所有依赖项。 您可以使用 setuptools 或 Poetry 等工具来添加和管理这些依赖项。
  • 使用版本控制:编程是一个持续的过程。 您可以不断升级或改进您的软件包以添加新功能或提高其效率。 您可能还想邀请贡献者。 您可以将包代码上传到 GitHub 或 GitLab 等平台,以使您的代码易于访问并允许协作。
  • 记录您的代码:我们创建的包用于演示目的。 但是,如果您打算与公众或团队成员共享此类包,则必须生成指导用户的文档。 您可以使用 Pydoc 或 Sphinx 等工具来生成文档。
  如何删除 Netflix 最近观看的节目

我还可以在哪里上传 Python 包?

尽管 Python Package Index (PyPI) 是 Python 包的官方存储库,但这并不意味着您被限制使用它。 确定将 Python 包上传到何处时需要考虑的一些因素包括文件大小、包的性质、所需的支持级别以及目标受众。

这些是您可以上传 Python 包的其他区域;

  • GitHub:GitHub 是最大的代码托管平台。 您可以创建存储库并将 Python 包添加为 zip 文件以进行重新分发。
  • Conda:Conda 是一个可用于 Python 包的包管理器。 这个平台在数据科学家中很有名。 在 Conda 上创建一个帐户并开始上传您的软件包以进行重新分发。
  • PyPI Mirrors:有许多 PyPI Mirrors 镜像 PyPI 平台的内容。 选择适合您托管包裹需求的一种。

结论

您现在已经完成了创建 Python 包并在线发布它们的步骤。 我们的示例只是基本的,但您可以尝试并创建复杂的包。 但是,在构建 Python 包时,请始终创建正确的文件夹结构。