在Mongoose中运行Python脚本

时间:2011-09-01 04:35:58

标签: python cgi mongoose-web-server

我想在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代码,也没有记录错误。

4 个答案:

答案 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