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

龙卷风和巨蟒3.x

  •  11
  • tosh  · 技术社区  · 16 年前

    我真的很喜欢 Tornado 虽然它是为Python2.5和2.6版本编写的,但我想将它与Python3一起使用。

    不幸的是,项目的源代码似乎没有随测试套件一起提供。如果我正确理解了它的wsgi部分,就不会那么容易移植,因为它的规范还没有准备好。 Python 3 yet (?) 但是我对Tornado的异步特性很感兴趣,所以wsgi兼容性不是我主要关心的问题,即使它很好。

    基本上,我想知道在尝试移植时应该注意什么,或者是否已经有了端口/分叉(我找不到任何使用谷歌或浏览的端口/分叉) github 尽管我可能错过了一些东西)。

    3 回复  |  直到 15 年前
        1
  •  25
  •   w.diesel    15 年前

    首先,我要为一个过时的话题的答案道歉, 但一旦我通过谷歌找到这个话题,我想更新重要信息!

    在Tornado2.0中增加了对python 3.2的支持!

    https://github.com/facebook/tornado/blob/master/setup.py

    http://groups.google.com/group/python-tornado/browse_thread/thread/69415c13d129578b

        2
  •  13
  •   Alex Martelli    16 年前

    没有合适的测试套件的软件是 legacy software --即使是昨天发布的!-)--因此,第一个重要的步骤是开始构建一个测试套件;我在URL中推荐Feather的书,但是您可以从 this PDF 这是一篇文章,也是由费瑟,在书的前面,总结了这本书的主要核心思想和实践之一。

    一旦你 从测试套件开始,使用python 2.6和 -3 警告您注意事项的标志 2to3 可能会绊倒;一旦这些问题得到解决,就是时候尝试了 2to3 并尝试使用python 3测试套件。毫无疑问,在您进行测试时,您必须不断地充实测试套件,我建议定期提交上游Tornado开源项目的所有改进——这些测试将对 任何人 毕竟,谁需要维护或移植Tornado,而不仅仅是对Python3感兴趣的人,因此,幸运的是,您可能会获得追随者和越来越多的测试套件贡献者。

    我不敢相信人们会在2009年发布主要的开源项目!!!!, 没有 不错的测试套件,但我相信你这确实是龙卷风造成的……

        3
  •  4
  •   Dustin    16 年前

    Tornado是一个很好的Web框架 twisted 但没有Twisted的错误修复或功能。我做的 a port to twisted 不久前,它基本上只是删除了代码。

    其中一些功能是 非常 重要的。例如,如果您正在执行wsgi,那么您将阻塞一个非阻塞的Web框架。坏事情会发生的。Twisted的异步Web框架也有一个wsgi容器,但它使用 deferToThread 以防止它阻塞其他请求。仍然不是缩放应用程序的正确方法,但它的分解速度要慢得多。