Python 3中的FastCGI WSGI库?

FastCGI WSGI library in Python 3?

对于python 3,是否存在可以作为fastcgi服务器为wsgi应用程序提供服务的库?(这样nginx就可以代理对它的请求了?)

python 3文档提到了flup,但是flup甚至没有安装在python3中:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
% env3/bin/pip install flup
Downloading/unpacking flup
  Downloading flup-1.0.2.tar.gz (49kB): 49kB downloaded
  Running setup.py (path:/Users/me/tmp/env3/build/flup/setup.py) egg_info for package flup
    Traceback (most recent call last):
      File"", line 17, in
      File"/Users/me/tmp/env3/build/flup/setup.py", line 2, in
        from ez_setup import use_setuptools
      File"./ez_setup.py", line 98
        except pkg_resources.VersionConflict, e:
                                            ^
    SyntaxError: invalid syntax
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):

  File"", line 17, in

  File"/Users/me/tmp/env3/build/flup/setup.py", line 2, in

    from ez_setup import use_setuptools

  File"./ez_setup.py", line 98

    except pkg_resources.VersionConflict, e:

                                        ^

SyntaxError: invalid syntax

----------------------------------------
Cleaning up...
Command python setup.py egg_info failed with error code 1 in [snip]
Storing debug log for failure in [snip]


现在有一个称为flup6的模块。用pip安装

1
./pip install flup6


你可以用触发器。它是一个简化的flup分支(只包含fastcgi部分),可以很好地与python 3配合使用。


您可以使用flup-py3来解决这个问题,如下所示:

埃多克斯1〔3〕

您可能需要超级用户权限来执行此命令。


flipflop代替

1
pip3 install --upgrade flipflop

这对我来说是个骗局。江户十一〔二〕有一个悬而未决的问题,至今已开放了几年。

不要忘记在.fcgi脚本中编辑导入行,以反映使用flipflop所做的更改。


我知道有两种选择

  • Cherrypy-来自数字海洋的Cherrypy说明
  • UWSGI-来自数字海洋的UWSGI说明
  • 小精灵

    两者都支持python 3,并且都可以基于其他Web应用程序代码创建wsgi工作者,并且可以提供给nginx。

    正如Graham Dumpleton提到的,Cherrypy通过HTTP协议与nginx进行对话,而Uwsgi则将"Uwsgi"协议与nginx进行对话,而不是HTTP协议,尽管它也支持使用HTTP。在应用程序方面,两者都支持通过wsgi API托管PythonWeb应用程序。