2

我想在 mongoose Web 服务器上运行 python 脚本。它适用于 php-cgi.exe,但不适用于 python.exe。

测试脚本test.py:

print("Content-Type: text/html")
print("")
print("<h1>Hello World!</h1>")

猫鼬配置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

4 回答 4

2

一个简单的 mongoose.conf:

document_root d:\root
listening_ports 80
cgi_extensions .py

你好.py:

#!python.exe
print("Content-Type: text/html")
print("")
print("<h1>Hello World!</h1>")

在我的带有 PYTHONPATH 设置的 win 机器上工作正常。

PS 而不是#!python.exe我可以使用类似#!d:\python\python.exe#!d:/python/python.exe- 它可以使用任何一种方式。

于 2012-01-19T13:11:08.603 回答
1

mongoose 4.1 的更新,配置需要是

cgi_pattern **.py$
cgi_interpreter C:\Python27\python.exe
于 2014-01-23T20:21:20.547 回答
0

已解决:mongoose.conf 文件区分大小写。以下行不正确:

c py

它应该是

C py

我也可以确认它在没有#!python.exeor的情况下工作#!c:\python33\python.exe。如何?当mongoosepython.exe看到一个.py文件并且python.exe在我的PATH.

于 2012-11-02T07:23:14.553 回答
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,浏览的 url 是http://localhost:82/test.py基于我调用 mongoose 和mongoose-3.0.exe -p 82 -e error_mongoose.txt.

请注意,我不需要#!c:\\python26\\python.exe在 python 文件的第一行中包含任何内容。可能还有其他方法可以调用 python,但是通过将解释器 exe 指定为 #! 注释脚本的第一行。我想我的解决方案是次优的——至少它有效。

于 2011-11-10T05:22:13.397 回答