当前位置:首页 > Python > 正文

Python项目打包与发布完整指南(从零开始学会使用setuptools和PyPI)

在Python开发中,将自己编写的代码打包并发布到公共平台(如PyPI),不仅便于他人安装使用,也方便团队协作和版本管理。本教程将手把手教你如何使用setuptools工具完成Python打包Python发布的全过程,即使你是编程小白也能轻松上手。

Python项目打包与发布完整指南(从零开始学会使用setuptools和PyPI) Python打包  Python发布 setuptools教程 PyPI上传 第1张

第一步:准备你的项目结构

一个标准的可打包Python项目通常包含以下文件和目录:

my_project/├── my_package/│   ├── __init__.py│   └── main.py├── setup.py├── README.md├── LICENSE└── requirements.txt

其中,my_package 是你实际的Python模块,必须包含 __init__.py 文件(即使为空),这样Python才会将其识别为包。

第二步:编写 setup.py(核心!)

这是setuptools教程中最关键的一步。setup.py 文件告诉打包工具你的项目名称、版本、依赖等信息。

# setup.pyfrom setuptools import setup, find_packagessetup(    name="my-awesome-package",    version="0.1.0",    author="Your Name",    author_email="your.email@example.com",    description="A short description of your package",    long_description=open("README.md", encoding="utf-8").read(),    long_description_content_type="text/markdown",    url="https://github.com/yourusername/my_project",    packages=find_packages(),    classifiers=[        "Programming Language :: Python :: 3",        "License :: OSI Approved :: MIT License",        "Operating System :: OS Independent",    ],    python_requires=">=3.6",    install_requires=[        # 从 requirements.txt 读取也可以        # "requests",        # "click",    ],)

注意:name 将成为你在PyPI上的包名,必须全局唯一。建议使用小写字母和连字符(-)。

第三步:构建分发包

在项目根目录下运行以下命令来生成分发文件:

pip install buildpython -m build

执行后,你会看到项目目录下多出一个 dist/ 文件夹,里面包含 .tar.gz(源码包)和 .whl(wheel二进制包)两种格式的文件。

第四步:注册PyPI账号并上传

要完成PyPI上传,你需要:

  1. 访问 https://pypi.org/ 注册账号
  2. 安装上传工具:pip install twine
  3. 上传前先测试(可选):使用 TestPyPI 测试上传
  4. 正式上传命令如下:
twine upload dist/*

系统会提示你输入PyPI用户名和密码(建议使用API Token更安全)。上传成功后,你的包就会出现在PyPI上,其他人可以通过 pip install my-awesome-package 安装它!

常见问题与最佳实践

  • 版本号管理:每次更新都要修改 setup.py 中的 version 字段,遵循语义化版本(如 1.0.0 → 1.0.1)
  • 依赖管理:将第三方库写入 install_requires 或通过 requirements.txt 读取
  • README优化:PyPI页面会显示 long_description,建议用Markdown写得清晰美观
  • 许可证(LICENSE):务必添加开源许可证,否则他人无法合法使用你的代码

总结

通过本教程,你已经掌握了完整的Python打包Python发布流程。无论是个人项目还是团队协作,使用setuptoolsPyPI都是标准化的最佳实践。记住四个关键词:Python打包Python发布setuptools教程PyPI上传,它们是你日后分享代码的必备技能!

现在就动手试试吧!你的第一个开源包可能就从这里诞生 🚀