美文网首页
使用Setuptools构建Python软件包

使用Setuptools构建Python软件包

作者: whytin | 来源:发表于2020-10-22 17:41 被阅读0次

    翻译转自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 = "dummy@domain.com",
        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软件包

          本文链接:https://www.haomeiwen.com/subject/rudpmktx.html