4

IIS を介して単純な CGI アプリとして Flask を実行しようとしています。

次のコードがあります。

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.stdinNone.

Python は、次のように CGI ハンドラーとして IIS に追加されます。

Request path: *.py
Executable: C:\Windows\py.exe -3 %s %s

では、なぜ sys.stdin None なのですか?どうすれば修正できますか?

編集

ファイル記述子が無効なため、sys.stdin は None のようです。

4

1 に答える 1