distutils 构建和安装 Python 模块


distutils 提供了对于构建和安装 Python 包的支持。新模块可以是由 100%-纯 Python 代码写成的,也可以是用 C 写成的扩展模块,甚至可以同时包括 Python 和 C。

大多数 Python 用户 不会 想要直接使用这个包,而是使用 Python 包官方维护的跨版本工具。特别地, setuptools 是一个对于 distutils 的增强选项,它能提供:

  • 对声明项目依赖的支持

  • 额外的用于配置哪些文件包含在源代码发布中的机制(包括与版本控制系统集成需要的插件)

  • 生成项目“进入点”的能力,进入点可用作应用插件系统的基础

  • 自动在安装时间生成 Windows 命令行可执行文件的能力,而不是需要预编译它们

  • 跨所有受支持的 Python 版本上的一致的表现

推荐的 pip 安装器用 setuptools 运行所有的 setup.py 脚本,即使脚本本身只引了 distutils 包。参考 Python Packaging User Guide  获得更多信息。

为了打包工具的作者和用户能更好理解当前的打包和分发系统,遗留的基于 distutils 的用户文档和 API 参考保持可用: