你可能会问的第一个问题就是:“我的软件应该支持Python的哪些版本?”这是一个好问题,因为Python的每个新版本都会在引入新功能的同时弃用一些旧功能。而且,Python 2.x和Python 3.x之间有着**巨大**的差别,这两个分支之间的变化如此巨大,以至于很难让代码同时兼容二者。本书后面的章节会详细讨论,而且在刚开始一个新项目的时候很难说哪个版本更合适。 下面是一些简短的回答。 - 2.5版本及更老的版本目前实际上已经废弃了,所以不需要再去支持它们。如果实在想支持这些较老的版本,要知道再让程序支持Python 3.x会更加困难。如果你确实有可能会遇到一些安装了Python 2.5的老系统,那很遗憾,真没什么好办法。 - 2.6版本越来越没活力,可以在某些比较老的操作系统(如Red Hat企业版Linux,即Red Hat Enterprise Linux)上发现。同时支持Python 2.6版本和更新的版本并不太难,但是,如果你认为自己的程序可能不需要在2.6版本上运行,那就没必要强迫自己支持它了。 - 2.7版本目前是也将依然是Python 2.x的最后一个版本。因为目前仍然有很多软件、库和开发人员在使用它,所以将其作为主要版本之一来支持是正确的选择。Python 2.7将被继续支持到2020年,所以它很可能不会很快消失。 - 3.0、3.1和3.2版本发布后都被快速地更替,并没有被广泛采用。如果你的代码已经支持2.7版本,再支持这几个版本的意义并不大。 - 3.4和3.5版本是Python 3最近发行的两个版本,也是应该重点支持的版本。Python 3.5代表这门语言的未来,所以除非正专注于兼容老的版本,否则都应该先确保代码能够运行在这两个最新版本上。 总而言之,只在确实需要(或者想自我挑战)的情况下支持2.6版本,必须支持2.7版本,如果想保证软件在可预见的未来也能运行,就需要也支持3.4及更高的版本。忽略那些更老的Python版本基本没什么问题,尽管同时支持所有这些版本是有可能的:CherryPy项目(<http://cherrypy.org>)支持Python 2.3及所有后续版本(<http://docs.cherrypy.org/stable/intro/install.html>)。 编写同时支持Python 2.7和3.x版本的程序的方法将在第15章介绍。某些方法在后续的示例代码中也会涉及,本书中的所有示例代码都同时支持这两个主要版本。