13

有谁知道“几乎所有”广泛使用的 Python 库与 Python 3.0 一起使用需要多长时间?

我打算在 2.X 上停留一段时间,因为我不想开始移植东西,然后发现我已经依赖的某些库或我可能开始使用的新库不适用于 py3k。

我的理解是,py3k beta 过程是专门为给图书馆开发人员时间来转移他们的东西而制定的。这一直在发生吗?

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

4

7 回答 7

4

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

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

很难一概而论——有些模块可能永远不会被移植,有些可能需要几天时间,有些可能需要几年时间。最终可能会出现以下情况:“我没有将我的库移植到 Python3,没有人在使用它!”/“我没有将我的项目移植到 Python3,还没有更新任何库! ”,但我希望不会!

于 2008-10-04T16:32:40.493 回答
4

实际上,对您的问题的回答取决于许多不同的人(Python std lib 之外的所有库的维护者)的行为,我认为没有人可以为您的问题提供可靠的答案。

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

不过,对于宠物或测试项目,我全力以赴进行更新和试验。

于 2008-10-04T17:37:45.603 回答
1

Some comments I saw in the CherryPy repository is that some of the changes to the sockets module are going to require an extensive reworking of the logic. I expect CherryPy will be slower than some of the other projects to get ported to 3.0.

于 2008-10-04T17:20:24.670 回答
1

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

于 2008-10-05T14:02:10.060 回答
1

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

于 2009-04-02T12:48:58.683 回答
0

一旦有人花一些时间进行移植,您提到的库就会被移植。

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

于 2009-04-02T16:42:57.287 回答
0

截至 2013 年 5 月 1 日,您提到的所有库现在都支持 Python 3:

移植工作一直在逐步进行;最近移植了一些主要的库,例如 Django。

于 2013-05-31T15:03:41.063 回答