大多数库何时会兼容Python 3?
有没有人知道,"几乎所有"常用的Python库大概需要多久才能支持Python 3.0?
我打算先继续用2.X版本,因为我不想开始把我的代码迁移过去,然后发现我依赖的某个库或者我可能会用到的新库还不支持Python 3k。
我了解到,Python 3k的测试版过程被拉得很长,主要是为了给库的开发者们时间去适应和更新他们的库。这种情况有发生吗?
我说的这些库,比如PIL、numpy/scipy、SQLAlchemy、BeautifulSoup、CherryPy等等。
7 个回答
迁移计划的总体思路是先继续使用2.x版本,然后慢慢把代码改成3.x版本。你至少有1.5年的时间来考虑这个问题。当然,这里也有个“先有鸡还是先有蛋”的问题。
你提到的这些例子可能会很快被移植,因为它们使用得非常广泛。
我会很惊讶如果BeautifulSoup的移植时间超过一个月(实际上,我很惊讶它还没有在py3k的测试版中被移植),而像numpy这样更复杂的东西可能需要更长时间,特别是因为2to3工具只对Python源代码有效,而不适用于C语言模块。
很难一概而论——有些模块可能永远不会被移植,有些可能只需要几天,其他的可能需要几年。可能会出现这样的情况:“我不打算把我的库移植到Python3,因为没人用!”或者“我不打算把我的项目移植到Python3,因为还没有库更新!”但我希望不会这样!
其实,回答你的问题需要考虑很多不同人的行为(所有维护Python标准库以外的库的人),所以我觉得没有人能给你一个可靠的答案。
不过,你已经得到了些回答,而且还会有更多。我们有一点是达成共识的:一般来说,我通常建议重要的项目(主要是和工作相关的)在新的开发技术(比如Python 3、.Net 3.x等)出来后,不要立刻迁移,等到像你这样的问题得到解答,很多初始的bug解决了再说。
但是对于个人项目或者测试项目,我是非常支持更新和尝试的。