我有一个依赖于 CGI 脚本的 Python 程序,当我使用 CGIHTTPServer 启动 Python BaseHTTPServer 时该程序可以工作。但我希望在不安装 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 中尝试了几个不同的版本,以防万一......