Python 3中的Web网关接口

Nic*_*ght 24 python wsgi fastcgi python-3.x

我终于得出结论,我再也不能仅仅希望正在进行的Py3k/WSGI 灾难问题能够很快得到解决,所以我需要做好准备继续前进.

不幸的是,我的可用选项看起来并不是很好:

  • 虽然我发现FastCGI的一些不同的Python模块散布在网络上,但它们似乎都没有得到太多(如果有的话)注意和/或维护,特别是关于Python 3.x,并且很难区分哪个,如果任何,都是可行的.
  • 一直回到内置的CGI模块并不比从头开始构建一些东西好一些(更糟糕的是,在Python 3.3之前,有一个重要的错误或两个可能无法得到关注).
  • 在生产webapp中直接处理HTTP没有更高的罪恶.无论如何,这仍然是重新发明轮子.

当然有人在生产中在3.x上部署webapps.你使用什么网关接口,哪些模块/库,为什么?

Gra*_*ton 2

CherryPy 3.2 候选版本支持 Python 3.X。因为它仅在 Web 服务器接口层支持 WSGI,而不是整个堆栈,所以您可以免受 WSGI 是否会更改的问题的影响。CherryPy 有自己的内部 WSGI 服务器,但也可以使用 Python 3.1+ 在 Apache/mod_wsgi 下运行。看:

http://www.cherrypy.org/wiki/WhatsNewIn32 http://code.google.com/p/modwsgi/wiki/SupportForPython3X

  • 我非常尊重你,Graham,但是这个答案基本上表明我添加了对一个复杂框架的预发布版本的依赖,除了将自己与 WSGI“隔离”之外,我没有任何用处(这是一个东西)我一开始就不应该需要)。这是非常令人不满意的。考虑到缺乏其他答案,采用/移植 FastCGI 包装器之一并自己维护它似乎是目前最可行的选择。:( (3认同)