代码之家  ›  专栏  ›  技术社区  ›  indentation

大多数库何时符合Python 3?[关闭]

  •  13
  • indentation  · 技术社区  · 18 年前

    是否有人知道“几乎所有”广泛使用的Python库在使用Python 3.0之前需要多长时间?

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

    我的理解是py3k测试过程是专门为库开发人员提供时间来转移他们的东西而设计的。这件事发生了吗?

    我所说的各种库的例子有PIL、numpy/scipy、SQLAlchemy、BeautifulSoup、CherryPy。。。

    7 回复  |  直到 17 年前
        1
  •  4
  •   dbr    18 年前

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

    如果BeautifulSoup需要一个多月的时间(事实上,我很惊讶它还没有被移植到已经使用py3k的betas中),更复杂的事情比如numpy可能需要更长的时间,特别是因为2to3只在python源代码上工作,而不是在C模块上。。

    很难概括——有些模块可能永远无法移植,有些可能需要几天,有些可能需要几年。最终可能会出现这样一种情况:“好吧,我没有把我的库移植到Python3,没有人在使用它!”/“好吧,我不会把我的项目移植到python3,还没有更新库!”,但我希望不是!

        2
  •  4
  •   tzot    18 年前

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

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

    不过,对于pet或测试项目,我完全支持更新和实验。

        3
  •  1
  •   torial    18 年前

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

        4
  •  1
  •   I GIVE CRAP ANSWERS    18 年前

    迁移计划的基本思想是保持在2.x上,然后慢慢地将代码更改为3.x 最少的 1.5年的时间来担心。当然还有鸡和蛋的问题。

        5
  •  1
  •   lprsd    17 年前

    我记得阿德里安(django的BFDL)说Guido给了他们5年的时间去港口。

        6
  •  0
  •   David Locke    17 年前

    你提到的库一旦有人花了很长时间来移植,就会被移植。

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

        7
  •  0
  •   Mechanical snail Rajani Dhawan    13 年前

    截至2013-05-01,您提到的所有库现在都支持Python3:

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