本文将介绍setuptools
的setup()
函数的常用参数,主要参考的是官方文档。
包的名称,要将下划线替换为短横线,例如my-package
。
版本号,例如1.2.3
。
包的简要描述。
包的详细描述,通常是从一个文件中读取的。
long_description
的类型,例如text/markdown
。
包的作者。
作者的邮箱。
包的主页,例如 GitHub 地址。
包含的包,通常不会手动填写,而是用find_packages()
函数来查找。
包的目录,例如{'': 'src'}
。
一个 list,包含包的分类信息,例如Programming Language :: Python :: 3
。可选的分类信息可以在PyPI上查看。
包的许可证,例如MIT
。
运行时依赖的包的 list。
一个 dict,包含了包的入口点,例如{'console_scripts': ['my-command = my_package.my_module:main']}
。假如安装了这个包,就可以通过命令行执行my-command
命令,这个命令会调用my_package.my_module
模块的main()
函数。
指定 Python 的版本,例如>=3.6
。
from setuptools import setup, find_packages
setup(
name='my-package',
version='1.2.3',
description='A short description',
long_description=open('README.md').read(),
long_description_content_type='text/markdown',
author='Author Name',
author_email='xxx@example.com',
url='https://xxx.com',
packages=find_packages('src'),
package_dir={'': 'src'},
classifiers=[
'Programming Language :: Python :: 3',
],
license='MIT',
install_requires=[
'requests',
],
entry_points={
'console_scripts': [
'my-command = my_package.my_module:main',
],
},
python_requires='>=3.6',
)