1. Python包发布流程概述
作为一名Python开发者,你可能已经编写了一些实用的工具或库,想要分享给其他开发者使用。将你的代码打包并发布到PyPI(Python Package Index)是最常见的分发方式。这个过程看似简单,但其中包含了许多值得注意的细节和技巧。
Python包发布的核心流程包括:准备项目结构、编写setup.py/pyproject.toml配置文件、构建分发包、上传到PyPI。在这个过程中,你需要考虑版本控制、依赖管理、兼容性测试等多个方面。我将在本文中详细介绍每个步骤的最佳实践,以及我在多年Python开发中积累的经验教训。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 项目结构与配置准备
2.1 标准项目结构
一个规范的Python项目应该遵循特定的目录结构。以下是一个典型的结构示例:
code复制my_package/
├── my_package/ # 主包目录
│ ├── __init__.py # 包初始化文件
│ ├── module1.py # 模块文件
│ └── module2.py
├── tests/ # 测试目录
│ ├── __init__.py
│ └── test_module1.py
├── docs/ # 文档目录
├── setup.py # 传统构建配置
├── pyproject.toml # 现代构建配置
├── README.md # 项目说明
└── LICENSE # 许可证文件
注意:
__init__.py文件是Python识别目录为包的关键,即使它是空的也必须存在。对于Python 3.3+,你可以使用__init__.py来定义包的命名空间。
2.2 选择构建系统
Python目前有两种主要的构建系统配置方式:
- 传统方式:使用setup.py
python复制from setuptools import setup, find_packages
setup(
name="my_package",
version="0.1.0",
packages=find_packages(),
install_requires=[
'requests>=2.25.0',
'numpy>=1.20.0',
],
# 其他元数据...
)
- 现代方式:使用pyproject.toml(推荐)
toml复制[build-system]
requires = ["setuptools>=42"
