第5章 编写一个包

本章重点介绍编写并发布Python包的可重复过程。其目的是:

  • 在开始实际工作之前,缩短设置所有内容所需要的时间。
  • 提供编写包的标准化方法。
  • 简化测试驱动开发方法的使用。
  • 使发布过程更加简单。

本章包括以下4部分内容:

  • 所有包的通用模式(common pattern),描述所有Python包之间的相似之处,以及distutilssetuptools如何发挥核心作用。
  • 什么是命名空间包(namespace packages),以及它为什么有用。
  • Python包索引(Python Package Index,PyPI)中如何注册并上传包,重点强调安全性和常见错误。
  • 独立可执行文件(stand-alone executables),作为将Python应用打包并分发的替代方法。

Python打包一开始可能有些难以理解。其主要原因是不了解创建Python包的正确工具。不管怎样,一旦创建了第一个包,你就会发现它并不像看起来那么难。此外,熟悉正确且最先进的打包工具也很有帮助。

你即使对将代码开源分发不感兴趣,但也应该知道如何创建包。知道如何创建自己的包,可以让你深入了解打包生态系统,并且有助于你使用PyPI上可用的第三方代码。

此外,将你的闭源项目或其组件变成源代码发行包,有助于你在不同的环境中部署代码。下一章将会更详细地描述在代码部署过程中使用Python打包生态系统的优点。本章我们将重点介绍创建这些发行版的正确工具和技术。

Python打包曾经在很长一段时间内处于混乱不堪的状态,人们花了很多年才使得这一主题重新变得有组织。一切都从1998年引入的distutils包开始,随后在2003年setuptools ...

Get Python高级编程(第2版) now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.