Python 打包发布:setuptools 与 pyproject.toml
现代 Python 打包推荐使用 pyproject.toml(PEP 621)。
1. 传统 setup.py
from setuptools import setup, find_packages
setup(
name='my-package',
version='0.1.0',
packages=find_packages(),
install_requires=['requests>=2.25.0'],
entry_points={
'console_scripts': [
'mycli = mypackage.cli:main',
]
},
)2. pyproject.toml(推荐)
[build-system]
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"
[project]
name = "my-package"
version = "0.1.0"
description = "A sample package"
authors = [{name = "Your Name", email = "you@example.com"}]
dependencies = [
"requests>=2.25.0",
]
[project.scripts]
mycli = "mypackage.cli:main"3. 构建与发布
pip install build twine
python -m build
twine upload dist/*4. 本地开发安装
pip install -e . # 可编辑模式规范的打包流程便于代码共享和分发。
