Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当前正在使用哪些版本的Python,以及包应该支持哪些版本?_Python_Python 3.x_Version - Fatal编程技术网

当前正在使用哪些版本的Python,以及包应该支持哪些版本?

当前正在使用哪些版本的Python,以及包应该支持哪些版本?,python,python-3.x,version,Python,Python 3.x,Version,作为一个小型Python包编写者(,),我想知道我应该支持哪些Python版本 我听说Python2.5仍然在企业型服务器上使用。所以我认为2.5是最古老的需要实际支持的版本,在2011年 然而,我看到作者说他仍然在使用2.4。从记忆中,我看到PyCrypto邮件列表上的一封电子邮件说,如果可能的话,他们的目标是让支持回到2.2 当然,还有Python3.x,它正在慢慢地获得动力。知道谁在使用它会很好 还有Jython和Ironpython,我对它们知之甚少 是否有任何具体且最新的Python安

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

我听说Python2.5仍然在企业型服务器上使用。所以我认为2.5是最古老的需要实际支持的版本,在2011年

然而,我看到作者说他仍然在使用2.4。从记忆中,我看到PyCrypto邮件列表上的一封电子邮件说,如果可能的话,他们的目标是让支持回到2.2

当然,还有Python3.x,它正在慢慢地获得动力。知道谁在使用它会很好

还有Jython和Ironpython,我对它们知之甚少


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

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

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

编辑:


我发现软件开发(尤其是软件包)中的一个好规则是只为需要的东西而开发,而不是你认为可能需要的东西。换句话说,让它为您正在运行(或您最喜爱的)的任何Python版本工作,然后如果您想根据人们的需要自行实现支持请求,请接受支持请求。

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

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


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

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

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


作为一个辅助节点,要在Python的多个版本/实现上测试您的应用程序,我建议。

谢谢,谢谢tox参考。在我的例子中,我不是在谈论一个应用程序,而是几个Python包(我将用链接编辑我的问题)。至于“需要”,我想这些软件包不会很受欢迎,但我试图猜测那些(可能是沉默的)潜在用户的“需要”。好吧,大多数是2.7,然后是3.2。你应该(现实地)从这些开始,如果必要的话,“移植”给其他人。谢谢你的观点。为了回应我对另一个答案的评论。。。至于“需要”,我想这些软件包不会很受欢迎,但我试图猜测(可能是沉默的)潜在用户的“需要”。可以理解(需求收集)。然而,为什么在开始之前就增加您的工作量并扩大您的包范围呢?我的意思是,最好只关注一个很窄的范围,构建一个可靠的API/包,然后以此为基础来支持其他版本(如果需要的话)。