我想在mongoose web服务器上运行python脚本。它适用于php-cgi.exe但不适用于python.exe。
测试脚本test.py:
print("Content-Type: text/html")
print("")
print("<h1>Hello World!</h1>")
Mongoose配置mongoose.conf:
m .py=text/html
c py
I C:\\python\\python.exe
我在命令提示符下尝试过该脚本并正确返回:
Content-Type: text/html
<h1>Hello World!</h1>
调出http://localhost/test.py会返回以下内容:
print("Content-Type: text/html")
print("")
print("<h1>Hello World!</h1>")
因此没有解释python代码,也没有记录错误。
答案 0 :(得分:2)
一个简单的mongoose.conf:
document_root d:\root
listening_ports 80
cgi_extensions .py
hello.py:
#!python.exe
print("Content-Type: text/html")
print("")
print("<h1>Hello World!</h1>")
使用PYTHONPATH设置在我的win-machine上正常工作。
P.S。而不是#!python.exe
我可以使用#!d:\python\python.exe
或#!d:/python/python.exe
之类的东西 - 它可以用任何一种方式。
答案 1 :(得分:1)
更新mongoose 4.1,配置需要
cgi_pattern **.py$
cgi_interpreter C:\Python27\python.exe
答案 2 :(得分:0)
使用mongoose-3.0编辑mongoose配置文件mongoose.conf
以包含行
cgi_extensions .py
cgi_interpreter c:\python26\python.exe
并且python应该执行,并且html结果应该在浏览器中显示为OK。
在Windows 7下运行,OP的python代码放在文件test.py
中,根据我使用http://localhost:82/test.py
调用mongoose,浏览的网址为mongoose-3.0.exe -p 82 -e error_mongoose.txt
。
请注意,我不需要在python文件的第一行中包含#!c:\\python26\\python.exe
之类的内容。可能还有其他方法可以调用python,但是通过将解释器exe指定为#,我没有太多运气来运行它!评论脚本的第一行。我想我的解决方案是下一个最好的解决方案 - 至少它是有效的。
答案 3 :(得分:0)
解决:mongoose.conf文件区分大小写。以下行不正确:
c py
应该是
C py
我还可以确认它在没有#!python.exe
或#!c:\python33\python.exe
的情况下有效。怎么样?当看到python.exe
文件并且.py
位于python.exe
时,mongoose可能很难运行PATH
。