mod_python: what's going on here?
Steve Holden
steve at holdenweb.com
Mon Sep 5 02:20:50 EDT 2005
Robert J. Hansen wrote:
> I'm not entirely certain comp.lang.python is the proper newsgroup for
> mod_python questions, but "comp.lang.python.web" doesn't seem to exist,
> so... my apologies in advance if this is considered off-topic.
>
> I'm attempting to get mod_python 3.1.4/python 2.4.1 working on Apache
> 2.0.54 running under OS X. Apache was compiled from source with a
> simple
>
> /configure --enable-so --with-mpm=worker
>
> ... followed by the make/make install dance. mod_python was almost as
> simple:
>
> ./configure --with-apxs=/usr/local/apache2/bin/apxs \
> --with-python=/sw/bin/python2.4
>
> ... followed by the requisite dance.
>
> At this point, all's well. The following bits were added to
> httpd.conf:
>
> LoadModule python_module /usr/local/apache2/modules/mod_python.so
> <Directory "/usr/local/apache2/htdocs/test">
> AddHandler mod_python .py
> PythonHandler mptest
> PythonDebug on
> </Directory>
>
> ... one apachectl restart later, Apache was running fine and serving
> pages. The version string at the bottom of some static pages listed
> mod_python as being present, so I reckoned that meant it was all
> installed all right. However, any attempt to serve a mod_python
> script, mptest.py, from the test subdirectory results in a 500 Internal
> Server Error. Nothing gets written to error_log, but access_log
> confirms the 500 was sent.
>
> Does anyone have any experience with mod_python on OS X/Apache
> environments? Can anyone shed some light on 500s that don't leave
> traces in the error logs, or what precise incantation I need to make
> mod_python start serving up scripts?
>
> Also, if this is not appropriate for this group, does anyone know of a
> Python group for which this is more appropriate?
>
You will probably get help on this newsgroup, but the mod-python list is
pretty helpful, and there's a Python Web-Sig mailing list you can find
out about at http://www.python.org/sigs/ if you want.
I'm afraid I am new to OS X (and 3,000 miles away from my Mac Mini), so
I can't be any help directly with any Mac-dependent issues. But when I
first started using mod_python someone (I'm afraid I don't remember who)
advised me to use SetHandler rather than AddHandler.
Looking at my Windows httpd.conf (2.0.52, so close enough to yours) I see
#########################################################################
# #
# MOD_PYTHON TESTING AREA #
# #
#########################################################################
#
# Request handler
#
<Directory "C:/apache/htdocs/modpy">
AllowOverride FileInfo
SetHandler mod_python
PythonHandler mptest
PythonDebug On
</Directory>
#
# Filter handler
#
<Directory "C:/Apache/htdocs/test">
AllowOverride All
SetHandler mod_python
#PythonHandler mptest1
#PythonFixupHandler mptest1
PythonLogHandler mptest1
PythonOutputFilter mptest1 CAPITALIZE
AddOutputFilter CAPITALIZE .txt .py
PythonDebug On
</Directory>
This might at least be enough to start generating sensible error messages.
One further possibility is that Apache is using an older Python by
default: byte codes vary from version to version, so something horrible
might be happening as mod_python tries to execute, but that seems a bit
far-fetched when you've got so far. I seem to remember that OS X doesn't
supply 2.4 by default: have you added it or overwritten the default
Python? Just another base to cover ...
regards
Steve
--
Steve Holden +44 150 684 7255 +1 800 494 3119
Holden Web LLC http://www.holdenweb.com/
More information about the Python-list
mailing list