使用Setuptools构建Python软件包

翻译转自Ayush_Singhal

在此博客中,我们将使用Setuptools创建源代码发行版和python包wheel。在走向如何包装之前。首先让我们了解什么是源代码分发和wheel文件。

包是指可以提供以解决特定用例的可用单元或库。对于打包,我们有不同的构建工具,例如在Scala中有SBT或在JAVA中有maven等。类似地,我们在python中有Setuptools来创建发行版。源代码分发(sdist)和Wheels(whl)是在python中创建软件包分发的两种主要方法。

源代码分发(sdist):除源代码外,它还包含额外的文件(例如CI脚本,测试用例等),这些文件不需要提供给最终用户和使用最少的方法。这将以不同的格式分发包,以针对不同平台的不同格式创建档案。默认格式是.tar.gzLinux上的压缩tar文件()和Windows上的ZIP文件。

Wheels(whl):此发行版包含安装所需的源文件和程序包元数据。(.whl)

setup.py

  1. 该文件包含setup()函数,我们在其中提供您项目的特定详细信息。其中包含诸如包名称,版本,要求包,作者,描述,分类器等信息。
  2. 它是命令行界面,用于运行与打包任务有关的各种命令。如果您想进一步研究,只需运行python setup.py –help
    python包装的图像结果

对于项目结构,我使用以下结构:

dummy_project/
|-- README
|-- setup.py
|-- example_pkg
|   |-- __init__.py
|   |-- calculate.py
|   |-- result.py
|-- tests
|-- |-- __init__.py
|-- |-- run.py
|-- |-- test.py

让我们创建最重要的文件setup.py,该文件位于项目目录的根目录下。

from setuptools import setup

setup(
    name = "dummy_project",
    version = "1.0.0",
    author = "dummy",
    author_email = "[email protected]",
    description = ("This project helps to understand about setup.py."),
    url = "https://www.python.org/doc/",
    packages=['example_pkg'],
    python_requires='>=3.6.0'
)

现在,让我们使用以下命令创建一个发行版

python setup.py sdist bdist_wheel

这将生成两个分布。现在,根据您的用例,您可以将您的软件包推送到公共或私有python存储库中。可以通过pip命令安装,如下所示:

pip install package_name

你可能感兴趣的:(使用Setuptools构建Python软件包)