Some tips

本站充满一个无聊的人的一些奇技淫巧

星期四, 六月 21, 2007

windows平台下apache安装mod_python

环境:windows 2000 + apache2.2 + python2.5 + mod_python-3.3.1.win32-py2.5-Apache2.2.exe

  1. 首先到python.org下载并安装python2.5,安装很简单;
  2. 然后到http://www.modpython.org下载安装mod_python(mod_python下载时注意版本,必须与apache和python版本匹配),安装时需要手动选择apache目录,选择C:\Program Files\Apache Software Foundation\Apache2.2,这一步完成后应该在apache下面的modules目录能找到mod_python.so。
  3. 然后修改apache配置文件httpd.conf:在LoadModule部分增加
    LoadModule python_module modules/mod_python.so
    在要使用py文档的目录对应的节增加
    AddHandler mod_python .py
    PythonHandler mptest
    PythonDebug On
    然后保存。
  4. 重新启动apache;
  5. 编写测试文档,保存为mptest.py;
from mod_python import apache
def handler(req):
req.content_type = 'text/plain'
req.write("Hello World!")
return apache.OK
编写py程序,一定得注意缩进问题,刚刚学习python,from这一行和def这一行不要缩进,下面三行要缩进,否则会报错“IndentationError: unexpected indent”,一切顺利的话,浏览该文件结果显示:
Hello World!

标签:

3 条评论:

Blogger Unknown 说...

我在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.

请帮助

12:32 上午  
Blogger xiaoyong 说...

你的C:\Program Files\Apache Software Foundation\Apache2.2下modules下有mod_python.so文件吗?

2:52 下午  
Anonymous 匿名 说...

您好,我用的是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。
请教原因。

9:24 上午  

发表评论

订阅 博文评论 [Atom]

<< 主页