从简单开始
最简单的一文件包:
MyProject/ setup.py my_package.py
最简单的setup.py:
from setuptools import setupsetup(name='MyProject', version='0.1', author='Your Name', author_email='your.name@example.com', license='MIT', description='Example package that says hello', py_modules=['my_package'])
包含额外的文件包
接下来,您可能应该添加一个自述文件:
MyProject/ MANIFEST.in README.rst setup.py my_package.py
注意新文件-MANIFEST.in。它指定源分发中应包含哪些非Python文件:
include *.rst
人们会告诉您“哦,跳过清单,只要将文件添加到源代码管理中,setuptools就会找到它们”。忽略该建议,它太容易出错。
使PyPI页面有用
使README.rst在Python Package Index上供人们在线查看非常有用。所以改变你的setup.py来做
from setuptools import setupwith open('README.rst') as f: readme = f.read()setup(name='MyProject', ... description='Example package that says hello', long_description=readme, ...)对更漂亮的页面使用ReStructuredText标记。采用
python setup.py --long-description | rst2html
尽早发现ReStructuredText错误。
包中有多个Python模块
一个文件很快就不够用,因此请将其更改为一个包(令人困惑的术语警告:Python包位于目录中,带有
__init__ py,而不是可分发的自包含存档中的):
MyProject/ MANIFEST.in README.rst setup.py my_package/ __init__.py some_module.py
并将setup.py更改为
from setuptools import setup, find_packageswith open('README.rst') as f: readme = f.read()setup(name='MyProject', version='0.2', author='Your Name', author_email='your@email', license='MIT', description='Example package that says hello', long_description=readme, packages=find_packages())向公众发布
获取一个PyPI帐户-您只需执行一次。
要发布,请确保setup.py中的版本号正确,然后运行
python setup.py sdist register upload
而已。
告诉人们安装它
告诉他们
pip install MyProject
(您在setup.py中指定的名称
name与setup()的参数相同)



