繁体   English   中英

使用py2exe运行CGI

[英]running CGI with py2exe

这听起来可能很奇怪,但我似乎无法在任何地方找到示例。.我正在尝试通过CGI在本地运行脚本,但是我试图通过py2exe将其作为.exe运行。

因此,您的想法是单击可执行文件,然后CGI在本地启动,并且无需在计算机上安装任何python即可运行脚本,并且可以在浏览器中打开本地网站,并且脚本将生成网页。

因此,我可以在安装了python的计算机上使用所有这些东西,并创建了一个脚本,该脚本导入创建的cgi脚本以启动CGI并导入要显示的python脚本,并且可以在其中查看两者的编译版本它创建的dist。 但是从这里我不知道要去哪里,因为通常我只是通过本地主机ping cgi-bin / script.py文件夹,它将显示在我的浏览器中。

我的问题:CGI和脚本可以在本地运行并显示为可执行文件,而无需在计算机上安装python。 和创建带有bdist.win32的额外构建文件是否需要以某种方式调用?

我假设主程序中某处应该通过html“显示”脚本,但不太确定该在哪里做? 我得到的'CGI脚本不是一个普通的文件('//')错误..不确定那个。

任何帮助表示赞赏,谢谢

我通过导入webbrowser并通过打开本地URL来部分解决了这个问题

webbrowser.open_new('http://localhost:8086') #proper url here

但是正是CGI使我发疯。 出于某种原因,当浏览到python脚本时,它不会执行-即使原始python脚本正确定义了cgi_directories(它们确实适用于python脚本),我也只能获取代码。 我希望至少能有所帮助。 这是整个脚本:

#!/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()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM