我得到了一个:
错误响应错误代码403。消息: CGI脚本不能执行(‘/cgi/main.pyc’)。错误代码解释: 403 =请求被禁止-授权不会有帮助。
当绑定到在python CGIHTTPServer上运行编译的python脚本(.pyc)时。正常的python脚本(.py)运行良好。cgi服务器如下所示:
from BaseHTTPServer import HTTPServer
from CGIHTTPServer import CGIHTTPRequestHandler
class CGIServer(HTTPServer):
def __init__(self, (hostname,port), handler):
HTTPServer.__init__(self, (hostname, port), handler)
srvaddr = ("", 8000)
cgisrv = CGIServer(srvaddr,CGIHTTPRequestHandler)
cgisrv.serve_forever()是否有可能在windows上实现此操作?.pyc文件与windows下的.py文件类似。就连谷歌也不能告诉我更多。
谢谢
发布于 2012-10-17 09:39:04
.pyc文件是编译后的Python,打算单独运行。我确信CGIHTTPServer不能运行编译后的.py文件,只能运行具有.py扩展名的脚本。
你有什么理由不能用.py代替吗?
发布于 2013-09-16 08:29:25
您需要编写一个小包装器(在普通python中),将其他代码作为模块加载。
有关更多细节,请参阅python教程1及其评论:
当通过在命令行上指定脚本名称来运行脚本时,脚本的字节码永远不会写入“”或".pyo“文件。因此,脚本的启动时间可以通过将其大部分代码移动到模块并拥有一个导入该模块的小型引导脚本来缩短。
FYI -我刚刚用一个脚本和该脚本的编译版本测试了CGIHTTPServer。我得到了您注意到的错误,当我试图在命令行上运行这两个版本时,运行.py版本会打印预期的输出,运行.pyc版本会导致终端上打印一堆垃圾(我没有费心调查确切的源)。总之--反复检查是否可以在命令行上运行一个程序,作为基本测试。
1
https://stackoverflow.com/questions/6785471
复制相似问题