windows平台下apache安装mod_python
环境:windows 2000 + apache2.2 + python2.5 + mod_python-3.3.1.win32-py2.5-Apache2.2.exe
- 首先到python.org下载并安装python2.5,安装很简单;
- 然后到http://www.modpython.org下载安装mod_python(mod_python下载时注意版本,必须与apache和python版本匹配),安装时需要手动选择apache目录,选择C:\Program Files\Apache Software Foundation\Apache2.2,这一步完成后应该在apache下面的modules目录能找到mod_python.so。
- 然后修改apache配置文件httpd.conf:在LoadModule部分增加
LoadModule python_module modules/mod_python.so
在要使用py文档的目录对应的节增加 AddHandler mod_python .py
然后保存。
PythonHandler mptest
PythonDebug On - 重新启动apache;
- 编写测试文档,保存为mptest.py;
from mod_python import apache编写py程序,一定得注意缩进问题,刚刚学习python,from这一行和def这一行不要缩进,下面三行要缩进,否则会报错“IndentationError: unexpected indent”,一切顺利的话,浏览该文件结果显示:
def handler(req):
req.content_type = 'text/plain'
req.write("Hello World!")
return apache.OK
Hello World!
标签: web tech
3 条评论:
我在apache的HTTPD.CONF中加的:
LoadModule python_module modules/mod_python.so
但仍然出错:httpd.exe: Syntax error on line 495 of D:/php/Apache2.2/conf/httpd.conf: Cannot load D:/php/Apache2.2/modules/mod_python.so into server: \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3
十分不解,所有版本选择都跟你一样除了windows,我是xp.
请帮助
你的C:\Program Files\Apache Software Foundation\Apache2.2下modules下有mod_python.so文件吗?
您好,我用的是mod3.31,python2.52,apache2.28按照这个标准的配置。
apache工作正常,但是访问mptest.py会出现错误:Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
我打开log,发现:
[Thu Apr 24 09:22:18 2008] [error] make_obcallback: could not import mod_python.apache.\n
ImportError: No module named mod_python.apache
[Thu Apr 24 09:22:18 2008] [error] make_obcallback: Python path being used "['D:\\\\Python25\\\\python25.zip', '.\\\\DLLs', '.\\\\lib', '.\\\\lib\\\\plat-win', '.\\\\lib\\\\lib-tk', 'D:\\\\Apache2.2\\\\bin']".
[Thu Apr 24 09:22:18 2008] [error] get_interpreter: no interpreter callback found.
[Thu Apr 24 09:22:18 2008] [error] [client 127.0.0.1] python_handler: Can't get/create interpreter.
[Thu Apr 24 09:22:18 2008] [error] [client 127.0.0.1] File does not exist: D:/Apache2.2/htdocs/favicon.ico
但是apache的modules目录下确实有mod_python.so。
请教原因。
发表评论
订阅 博文评论 [Atom]
<< 主页