传统 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",
"numpy"
],
entry_points={
"console_scripts": [
"mycli = mypackage.cli:main",
]
},
author="Your Name",
description="A sample package",
)现代 pyproject.toml (PEP 621)
[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",
"numpy"
]
[project.scripts]
mycli = "mypackage.cli:main"构建与发布
# 安装构建工具
pip install build twine
# 构建分发包
python -m build
# 上传到 PyPI
twine upload dist/*本地安装
pip install -e . # 开发模式安装(可编辑)规范的打包流程能让你的代码被更多人方便地使用。
