在Python的setup.py
文件中,setup()
函数用于配置和描述项目的元数据、依赖关系和其他选项。setup()
函数可以接受许多关键字参数,以下是一些常见的配置选项:
name
:项目的名称,必须是小写字母,可以包含字母、数字和下划线。version
:项目的版本号,通常遵循语义化版本控制(Semantic Versioning)。description
:项目的简短描述。long_description
:项目的详细描述,通常从README文件中读取。long_description_content_type
:详细描述的MIME类型,例如text/markdown
。author
:项目的作者姓名或组织名称。author_email
:作者的电子邮件地址。url
:项目的官方网站或代码仓库URL。license
:项目使用的许可证类型,例如MIT
、GPL
等。packages
:要包含在分发包中的Python模块列表,可以使用find_packages()
自动发现子包。package_dir
:指定包目录的映射,通常用于多级包结构。exclude_package_data
:排除在分发包之外的特定文件或目录。include_package_data
:包含在分发包中的数据文件,如MANIFEST.in中的文件。install_requires
:项目的依赖项列表,这些依赖项将安装在安装此包的环境中。dependency_links
:指向依赖项的链接列表,用于解决版本冲突或本地安装。extras_require
:可选依赖项列表,可以根据用户的选择安装不同的附加依赖项组。entry_points
:定义命令行接口(CLI)的入口点,例如console_scripts
和gui_scripts
。scripts
:要安装的脚本文件列表。data_files
:要在安装目录中创建的文件列表,通常用于配置文件、数据集等。version_options
:提供版本号的选项,例如release_level
和dev0
。python_requires
:指定支持的Python版本范围,例如>=3.6
。zip_safe
:设置为True
表示项目可以安全地打包成ZIP文件,默认为False
。classifiers
:项目的分类器列表,提供关于项目的额外信息,例如支持的操作系统、Python版本等。cmdclass
:自定义命令类字典,用于覆盖或扩展setuptools的命令。build_requires
:构建此包所需的依赖项列表,通常在安装时由构建工具(如setuptools或wheel)安装。manifest_version
:指定MANIFEST.in文件的版本,通常为2
或3
。no_binary
:指定不应包含二进制文件的分发包,通常用于纯Python包。binary_only
:指定仅包含二进制文件的分发包,通常用于系统包。platform
:指定目标平台,例如win32
、linux
或darwin
。os
:指定目标操作系统,例如posix
、nt
或os2
。arch
:指定目标架构,例如x86
、x86_64
或arm
。language
:指定项目的主要编程语言,例如c++
、java
或python
。这些选项只是setup()
函数中可用的部分配置选项,还有其他一些较少使用的选项。要查看所有可用选项,请参阅Python官方文档中的setuptools
部分。