我正在尝试通过IIS将Flask作为一个简单的CGI应用程序运行。
我有以下代码:
from wsgiref.handlers import CGIHandler
from flask import Flask
app = Flask(__name__)
@app.route('/')
def main():
return 'Woo woo!'
CGIHandler().run(app)
我在Windows上运行Python 3.3。 我收到以下错误:
File "C:\Python33\lib\wsgiref\handlers.py",
line 509, in __init__(self, sys.stdin.buffer, sys.stdout.buffer, sys.stderr, )
AttributeError: 'NoneType' object has no attribute 'buffer' ".
我添加了一些日志代码,结果发现
sys.stdin
是 None
。Python 作为 CGI 处理程序添加到 IIS 中,如下所示:
Request path: *.py
Executable: C:\Windows\py.exe -3 %s %s
所以,为什么sys.stdin是None,我该怎么解决?
编辑
看起来sys.stdin是None是因为文件描述符无效。