發布 Python 模組（舊版）
************************

作者:
   Greg Ward, Anthony Baxter

電子郵件:
   distutils-sig@python.org

也參考:

  發布 Python 模組
     最新的模块分发文档

備註:

  整个 "distutils" 包已被弃用并将在 Python 3.12 中被移除。 此文档仅保
  留作参考，并将随包一起被移除。 更多信息请参阅 有什么新变化 条目。

備註:

  这篇文档是历史遗留文档，在
  https://setuptools.readthedocs.io/en/latest/setuptools.html 上的
  "setuptools" 文档独立涵盖此处包含的所有相关信息之后，将不再单独作为
  正式文档保留。

備註:

  本指南仅介绍构建和分发扩展的基本工具，这些扩展是作为此Python版本的一
  部分提供的。 第三方工具提供更易于使用和更安全的替代方案。有关详细信
  息，请参阅 Python 打包用户指南中的 快速推荐部分 。

本文档从模块开发人员的角度描述了 Python Distribution Utilities
("Distutils")。 描述了 "setuptools" 构建所依赖的下层功能，以允许
Python 开发者方便地为更广泛的受众编写 Python 模块和扩展。

* 1. Distutils 模块介绍

  * 1.1. 概念和术语

  * 1.2. 一個簡單範例

  * 1.3. 通用的 Python 术语

  * 1.4. Distutils 特定的术语

* 2. 编写安装脚本

  * 2.1. 列出全部的包

  * 2.2. 列出单独的模块

  * 2.3. 描述扩展模块

  * 2.4. 分发和软件包之间的关系

  * 2.5. 安装脚本

  * 2.6. 安装软件包数据

  * 2.7. 安装其它文件

  * 2.8. 附加元数据

  * 2.9. 调试安装脚本

* 3. 编写设置脚本的配置文件

* 4. 创建源代码分发包

  * 4.1. 指定要分发的文件

  * 4.2. 声明相关选项

* 5. 创建构建分发版

  * 5.1. 创建RPM软件包

  * 5.2. 在 Windows 上的交叉编译

* 6. Distutils 示例

  * 6.1. 纯 Python 分发（通过 module）

  * 6.2. 纯 Python 分发（通过 包）

  * 6.3. 单个扩展模块

  * 6.4. 检查一个包

  * 6.5. 读取元数据

* 7. 扩展 Distutils

  * 7.1. 集成新的命令

  * 7.2. 添加新的发布类型

* 8. 指令參照

  * 8.1. 安装模块: **install** 命令族

  * 8.2. 创建源码发行包: **sdist** 命令

* 9. API 參照

  * 9.1. "distutils.core" --- 分发包功能的核心

  * 9.2. "distutils.ccompiler" --- CCompiler基类

  * 9.3. "distutils.unixccompiler" --- Unix C 编译器

  * 9.4. "distutils.msvccompiler" --- Microsoft 编译器

  * 9.5. "distutils.bcppcompiler" --- Borland 编译器

  * 9.6. "distutils.cygwincompiler" --- Cygwin 编译器

  * 9.7. "distutils.archive_util" --- 归档工具

  * 9.8. "distutils.dep_util" --- 依赖关系检查

  * 9.9. "distutils.dir_util" --- 目录树操作

  * 9.10. "distutils.file_util" --- 单文件操作

  * 9.11. "distutils.util" --- 其他杂项工具函数

  * 9.12. "distutils.dist" --- Distribution 类

  * 9.13. "distutils.extension" --- Extension 类

  * 9.14. "distutils.debug" --- Distutils 调试模式

  * 9.15. "distutils.errors" --- Distutils 异常

  * 9.16. "distutils.fancy_getopt" --- 标准 getopt 模块的包装器

  * 9.17. "distutils.filelist" --- FileList 类

  * 9.18. "distutils.log" --- 简单的 **PEP 282** 风格日志记录

  * 9.19. "distutils.spawn" --- 生成子进程

  * 9.20. "distutils.sysconfig" --- 系统配置信息

  * 9.21. "distutils.text_file" --- TextFile 类

  * 9.22. "distutils.version" --- 版本号类

  * 9.23. "distutils.cmd" --- Distutils 命令的抽象基类

  * 9.24. 创建新的 Distutils 命令

  * 9.25. "distutils.command" --- 各个 Distutils 命令

  * 9.26. "distutils.command.bdist" --- 构建二进制安装程序

  * 9.27. "distutils.command.bdist_packager" --- 打包器的抽象基类

  * 9.28. "distutils.command.bdist_dumb" --- 构建“简易”安装程序

  * 9.29. "distutils.command.bdist_rpm" --- 将二进制发行版构建为
    Redhat RPM 和 SRPM

  * 9.30. "distutils.command.sdist" --- 构建源码发行版

  * 9.31. "distutils.command.build" --- 构建包的所有文件

  * 9.32. "distutils.command.build_clib" --- 构建包中的任何 C 库

  * 9.33. "distutils.command.build_ext" --- 构建包中的任何扩展

  * 9.34. "distutils.command.build_py" --- 构建包的 .py/.pyc 文件

  * 9.35. "distutils.command.build_scripts" --- 构建包的脚本

  * 9.36. "distutils.command.clean" --- 清理包构建区域

  * 9.37. "distutils.command.config" --- 执行包配置

  * 9.38. "distutils.command.install" --- 安装包

  * 9.39. "distutils.command.install_data" --- 安装包中的数据文件

  * 9.40. "distutils.command.install_headers" --- 安装包中的 C/C++ 头
    文件

  * 9.41. "distutils.command.install_lib" --- 安装包中的库文件

  * 9.42. "distutils.command.install_scripts" --- 安装包中的脚本文件

  * 9.43. "distutils.command.register" --- 在 Python 包索引中注册模块

  * 9.44. "distutils.command.check" --- 检查包的元数据
