当前使用的是哪些版本的Python,并且软件包应该支持?

时间:2011-04-15 00:48:25

标签: python python-3.x version

作为一个小型Python包编写器(cobssimplerandom),我想知道我应该支持哪些Python版本。

我听说有人说Python 2.5仍然在企业级服务器上使用。所以我认为2.5是最早需要实际支持的,在2011年。

但是,我看到this blog作者说他仍在使用2.4。从记忆中,我在PyCrypto邮件列表上看到一封电子邮件说他们的目的是在可能的情况下继续支持2.2。

当然,那就是Python 3.x正在慢慢获得动力。知道谁在使用它会很好。

然后,还有Jython和Ironpython,我对它们一无所知。

是否有任何具体和最新的Python安装/使用数据可供我们使用?对于包编写者应该支持的Python版本/风格,是否有任何“最佳实践”或其他建议?

3 个答案:

答案 0 :(得分:5)

我认为这是一个在开发任何软件时固有的问题。任何人都可以运行任何版本,并且需要支持该版本(我想知道有多少人还在运行Windoze ME?;))。就个人而言,在开发库时,我只支持当前版本+。如果没有其他原因,因为我只有一个人,而且我没有团队。

话虽如此,我会将我的软件包放在github上并从任何想要支持以前版本的人那里获取补丁(并且愿意投入工作)。

修改

我发现软件开发(尤其是软件包)中的一个好规则是仅针对所需内容进行开发,而不是认为可能需要。换句话说,让它适用于您正在运行的任何版本的Python(或者您最亲爱的),如果您想根据需要自己实现它们,请接受支持请求。

答案 1 :(得分:2)

我有运行Python 2.3的服务器。 : - )

但不,你不需要支持它。像这样的大多数服务器只是运行,并且没有安装任何新模块。

今天创建新模块时,2.6,2.7,3.1和3.2是要支持的版本。对于现有模块,您可以询问您的用户。 : - )

答案 2 :(得分:1)

您应该支持最新的2.x系列(截至目前为2.7)和3.x(截至目前为3.2)。除非您特别需要支持旧版本,否则我认为您不需要去那里。

对于像IronPython和Jython这样的替代实现,只有在需要时才应该这样做。为所有这些实现支持您的应用程序可能是耗时的(尽管可能是教育性的)。

作为副节点,要在多个版本/ Python的实现上测试您的应用,我建议tox