# `distutils` --- 构建和安装 Python 模块

`distutils` 已被弃用并计划在 Python 3.12 中移除。 请参阅 有什么新变化 条目了解更多信息。

`distutils` 包为将待构建和安装的额外的模块，打包成 Python 安装包提供支持。新模块既可以是百分百的纯 Python，也可以是用 C 写的扩展模块，或者可以是一组包含了同时用 Python 和 C 编码的 Python 包。

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

- 对声明项目依赖的支持

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

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

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

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

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

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

- 安裝 Python 模組（舊版）

- 發布 Python 模組（舊版）