CGIHTTPServer で Python BaseHTTPServer を起動すると動作する CGI スクリプトに依存する特定の Python プログラムがあります。しかし、Python をインストールせずにこれらすべてを実行したいので、Py2Exe を使用しました。
スクリプトから .exe を作成することができました。実行すると、実際に動作するローカル Web サーバーが作成されます。ただし、CGI スクリプトはコードとして表示されるだけで、実行されません。
これは、デフォルトのブラウザーも起動するサーバー スクリプト全体です。
#!/usr/bin/env python
import webbrowser
import BaseHTTPServer
import CGIHTTPServer
server = BaseHTTPServer.HTTPServer
handler = CGIHTTPServer.CGIHTTPRequestHandler
server_address = ("", 8008)
handler.cgi_directories = ["/cgi"]
httpd = server(server_address, handler)
webbrowser.open_new("http://localhost:8008/cgi/script.py");
httpd.serve_forever()
ただし、その script.py は表示されるだけで実行されません。理由がわかりません。念のため、handler.cgi_directories でいくつかの異なるバージョンを試しました...