编写和发布 Python 包的实战指南
1. 所有包的通用模式
编写和发布 Python 包是一项复杂的任务,但通过遵循一些通用模式,可以使这个过程变得简单和高效。所有 Python 包的核心是 setup.py
文件,它不仅定义了包的元数据,还结合了 setuptools
提供的基础设施,从而增强了包的功能。
使用 setuptools
扩展包功能
setuptools
是一个强大的工具,它扩展了 distutils
的功能,提供了依赖管理、自动包查找等功能。它使得包的安装和分发更加便捷。例如, setuptools
支持创建命名空间包,使得多个包可以共享同一个命名空间,从而更好地组织代码。
示例:创建一个命名空间包
假设我们要创建一个名为 acme.sql
的包,它属于 acme
命名空间。以下是创建该包的基本步骤:
-
创建目录结构:
acme/ ├── sql/ │ └── __init__.py └── setup.py
-
编辑
setup.py
文件:
```python
from setuptools import setup, find_packages
setup(