第3章 模块化、打包和部署
在前面的几章中,你已经编写了一个简单的应用程序,并为其添加了一些新的功能特性,并确保了一些常见的问题已经被修正。现在是时候让更多的玩家来参与其中了。在本章中,你将会学习到如下几个话题:
- 对前面章节中编写的代码进行模块化和打包。
- 准备并部署一个代码的发行版本。
- 建立一个私有的Python包仓库。
- 制作增量发布。
- 将你的代码接入版本控制工具。
由于玩家的口口相传,高奇幻游戏应用越来越受到关注。越来越多的人要求访问源码,仅仅是在他们自己的应用中使用我们提供的功能,或者仅仅是想玩这款游戏。到目前为止,你已经将完整的代码发送给发来请求的用户。但是,如果继续这样做的话将是一件很愚蠢的事情,因为你经常需要进行版本升级。
有几种方法来处理这个问题。最基本的选择是将代码放在服务器的主机上,并告知用户从该位置下载它。另一种选择是使用一个版本控制系统,如Git来管理代码,让别人进行克隆。然而,我们接下来会看到另外一种选择,就是将其部署为一个Python包。
Foo先生,还没有这么快呢!我们必须先做一些准备工作,如图3-1所示。请先保持住你的热情。对了,你的军队还是很遥远的事情呢。你将会在第6章中和你军队中的战友们集结在一起。
图3-1
3.1 选择一种版本控制规约
我们如何命名新版本的代码呢?有几种正在使用中的版本控制方案。让我们来快速回顾一下一些流行的版本控制方案。
3.1.1 连续递增
在这种方案中,你只需要为每次升级以连续的方式增加版本号,如v1、v2、v3等。然而,这并没有给出任何关于版本的特定信息。仅仅通过查看版本号,很难判断出某个版本是否引入了一个革命性的功能或仅仅是修复了一个小错误。它也不提供任何关于API兼容性的信息。当应用非常小,只有非常少的用户并且使用的范围也很小的时候,你可以选择这种简单的版本控制方案,如图3-2所示。 ...
Get Python应用开发指南 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.