欢迎来到程序员中文网!

首页 Linux Mysql C++ Python PHP JavaScript 资源下载 动态 开源推荐
我要投稿 投诉建议

Python 打包与分发:setuptools 和 pyproject.toml

时间:2026年08月12日 04:46:50 浏览: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",
"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 .  # 开发模式安装(可编辑)

规范的打包流程能让你的代码被更多人方便地使用。