Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.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 3?_Python_Python 3.x - Fatal编程技术网

大多数库何时会兼容Python 3?

大多数库何时会兼容Python 3?,python,python-3.x,Python,Python 3.x,有人知道“几乎所有”广泛使用的Python库使用Python 3.0需要多长时间吗 我计划在2.X上停留一段时间,因为我不想开始移植东西,然后发现我已经依赖的某个库或我可能开始使用的新库在py3k上还不起作用 我的理解是,py3k测试过程是专门为库开发人员留出时间来转移他们的内容而制定的。这是真的吗 我正在谈论的各种库的示例有PIL、numpy/scipy、SQLAlchemy、BeautifulSoup、CherryPy…您列出的示例可能会很快移植,因为它们被广泛使用 如果BeautifulS

有人知道“几乎所有”广泛使用的Python库使用Python 3.0需要多长时间吗

我计划在2.X上停留一段时间,因为我不想开始移植东西,然后发现我已经依赖的某个库或我可能开始使用的新库在py3k上还不起作用

我的理解是,py3k测试过程是专门为库开发人员留出时间来转移他们的内容而制定的。这是真的吗


我正在谈论的各种库的示例有PIL、numpy/scipy、SQLAlchemy、BeautifulSoup、CherryPy…

您列出的示例可能会很快移植,因为它们被广泛使用

如果BeautifulSoup需要一个多月的时间(事实上,我很惊讶它还没有使用py3k Beta进行移植),像numpy这样更复杂的东西可能需要更长的时间,特别是因为2to3只在python源代码上工作,而不是在C模块上


这很难一概而论——有些模块可能永远无法移植,有些可能需要几天,有些可能需要几年。这可能会导致“我没有将我的库移植到Python3,没有人在使用它!”/“我没有将我的项目移植到Python3,还没有库被更新过!”,但我希望不会

我在CherryPy存储库中看到的一些评论是,对sockets模块的一些更改将需要对逻辑进行大量修改。我预计CherryPy移植到3.0的速度会比其他一些项目慢。

事实上,对您的问题的回答取决于这么多不同的人(Python std库之外的所有库的维护者)的行动,我认为没有人能给您一个可靠的答案

也就是说,你已经有了一些答案,你还会有更多的答案。不过,我们同意一件事:根据经验,我通常建议重要的项目(主要是与工作相关的项目)不应立即移植到新的开发技术(Python 3、.Net 3.x等),除非您的答案已经得到解答,并且许多初始错误已经解决


不过,对于pet或测试项目,我会全力以赴地进行更新和实验。

迁移计划的总体思路是停留在2.x上,然后慢慢地将代码更改为3.x。你至少有1.5年的时间来担心这件事。当然还有鸡和蛋的问题。

我记得Adrian(django的BFDL)说Guido给了他们5年的时间来移植。

一旦有人花了一些时间来移植它们,你提到的库就会被移植


在NumPy/SciPy的特定情况下,大部分代码都是以C扩展编写的。没有用于C扩展的2to3工具,因此将代码移植到cPython3 C扩展需要使用的格式需要花费大量的工时。

从2013-05-01起,您提到的所有库现在都支持Python 3:

  • PIL,as(自2009年以来,原始PIL项目未更新)

移植工作正在逐步进行;一些像Django这样的大型图书馆最近才被移植。

我认为你有点草率地宣布NumPy很快就会被移植。现在已经六个月过去了,它还没有完全移植到2.6版本。我说过移植numpy可能需要“更长的时间”。。虽然你是对的,但我有点过于乐观了。。我甚至不认为BeautifulSoup已经被移植(因为这个原因,我把一个使用它的项目转移到ElementTree)