【python】python 包构建工具setup.py

一、简介

setup.py是setuptools的构建脚本。它告诉 setuptools 您的包(例如名称和版本)以及要包含的代码文件。

用途:
主要是用来打包 Python 项目。

官网介绍

二、setup.py可以配置哪些参数

from setuptools import setup, find_packages  
  
setup(  
    name = "testdemo",  
    version = "1.0",  
    keywords = ("testdemo", "xxx"),  
    description = "project test",  
    long_description = "project test",  
    license = "MIT Licence",  
  
    url = "http://testdemo.com",  
    author = "testdemo",  
    author_email = "[email protected]",  
  
    packages = find_packages(),  
    include_package_data = True,  
    platforms = "any",  
    # 需要安装的依赖
    install_requires=[
        'redis>=2.10.5',
    ],
  
    scripts = [],  
    entry_points = {  
        'console_scripts': [  
            'testdemo = testdemo.help:main'  
        ]  
    }  
)

参数释义:

  • name是您的包的分发名称。这可以是任何名称,只要它只包含字母、数字_、 和-。它也不能在 pypi.org 上使用。请务必使用您的用户名进行更新, 因为这样可以确保您不会尝试上传与已经存在的同名的包。

  • version是包版本。看PEP 440有关版本的更多详细信息。

  • author并author_email用于标识包的作者。

  • description是一个简短的、一句话的包摘要。

  • long_description是包的详细说明。这显示在 Python 包索引的包详细信息页面上。在这种情况下,长描述是从 加载的README.md,这是一种常见的模式。

  • long_description_content_type告诉索引长描述使用什么类型的标记。在这种情况下,它是 Markdown。

  • url是项目主页的 URL。对于许多项目,这只是指向 GitHub、GitLab、Bitbucket 或类似代码托管服务的链接。

  • project_urls允许您列出要在 PyPI 上显示的任意数量的额外链接。通常,这可能是文档、问题跟踪器等。

  • classifiers提供 index 和pip一些关于你的包的额外元数据。在这种情况下,该包仅与 Python 3 兼容,在 MIT 许可下获得许可,并且独立于操作系统。您应该始终至少包括您的包适用于哪个 Python 版本、您的包在哪个许可证下可用,以及您的包将在哪些操作系统上运行。有关分类器的完整列表,请参阅 https://pypi.org/classifiers/。

  • package_dir:是一个字典,其中键的包名称和值的目录。一个空的包名代表“根包”——项目中包含包的所有 Python 源文件的目录——所以在这种情况下,该src目录被指定为根包。

  • packages:是应包含在分发包中的所有 Python导入包的列表。无需手动列出每个包,我们可以使用它来自动发现. 在这种情况下,包列表将是唯一存在的包。find_packages()package_direxample_package

  • python_requires给出项目支持的 Python 版本。像pip这样的安装程序会回顾旧版本的包,直到找到具有匹配 Python 版本的包。

  • install_requires = [“requests”] 需要安装的依赖包

  • entry_points 动态发现服务和插件,添加这个选项,在windows下Python目录的scripts下生成exe文件.

  • platforms 程序适用的软件平台列表

  • keywords 程序的关键字列表

你可能感兴趣的:(#,python,python,setuptools,python包构建工具)