OS X 10.6 で CGIHTTPRequestHandler とともに http.server を使用していますが、run_cgi() の posix コード パスが正しく機能していないようです。フォーム送信から /cgi-bin/test.py にある を呼び出しています。
今日の午後の大部分で、os.execve() 行 1058 で「OSError: [Errno 2] No such file or directory」というエラーを受け取っていましたが、現在は「OSError: [Errno 8] Exec format error」です。変更が多すぎて、別のエラーの理由がわかりませんが、いずれにしても do_POST() が機能しません。
$ ./demon-local.py
Serving HTTP on 0.0.0.0 port 8000
localhost - - [27/Oct/2010 21:24:39] "POST /cgi-bin/test.py HTTP/1.1" 200 -
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/http/server.py", line 1058, in run_cgi
os.execve(scriptfile, args, os.environ)
OSError: [Errno 8] Exec format error
localhost - - [27/Oct/2010 21:24:39] CGI script exit status 0x7f00
pdb でコードを実行しましたが、変数 scriptfile、args、および os.environ に問題は見つかりません。デバッガーの実行で os.execve 行に到達すると、ハングしたように見え、ctrl-c を数回押してすべてを強制終了する必要があります。
組み込みの CGIHTTPRequestHandler を使用して成功した人はいますか?
どうもありがとう、クリス