在Mongoose中运行Python脚本

2 投票
4 回答
5305 浏览
提问于 2025-04-17 01:01

我想在mongoose网页服务器上运行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 个回答

1

对于 mongoose 4.1 的更新,配置需要是

cgi_pattern **.py$
cgi_interpreter C:\Python27\python.exe
2

这是一个简单的mongoose配置:

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>")

在我的Windows电脑上运行得很好,前提是设置了PYTHONPATH。

补充一下:我可以用类似 #!d:\python\python.exe 或者 #!d:/python/python.exe 的方式来替代 #!python.exe,这两种方式都可以正常工作。

0

解决了:mongoose.conf 文件是区分大小写的。下面这一行是错误的:

c py

应该是:

C py

我还可以确认,不需要 #!python.exe#!c:\python33\python.exe 也能正常工作。为什么呢?可能是因为 mongoose 在看到 .py 文件时,默认会运行 python.exe,而 python.exe 已经在我的 PATH 里了。

撰写回答