[mod_python] Mac OS X Leopard upset my mod_python test bed.

Simon Kesenci god at skri.org
Sun Nov 25 21:09:05 EST 2007


I haven't found a discussion of this problem in the archives.

Strange stuff.  It started working properly after I removed the /usr/ 
sbin/httpd symlink and copied the compiled version there.  It works  
without setting PYTHONHOME and without /usr/local/bin in root's path.

To answer your question, using the OS-provided installation (whatever  
the OS) leaves your software to the mercies of the OS's update schedule.

--S.

On Nov 25, 2007, at 14:17, Graham Dumpleton wrote:

> In 'envvars' file in the same directory as the real httpd you want  
> to run, add:
>
>  PYTHONHOME=/usr/local
>  export PYTHONHOME
>
> Alternatively, you must ensure that the PATH of the user that Apache
> is started as has /usr/local/bin in its path before /usr/bin, else it
> will find the wrong 'python' executable and thus end up looking in the
> wrong location for the corresponding lib directory.
>
> Search the mod_python mailing lists for past discussions on this  
> issue.
>
> BTW, why do you want to install your own version of Python 2.5, what
> is wrong with the Python 2.5 that the operating system ships?
>
> Graham
>
> On 26/11/2007, Simon Kesenci <god at skri.org> wrote:
>> I recently upgraded my PowerBook (PPC) to Leopard.  Piece by piece I
>> started reassembling my web server test bed (httpd 2.2.6, Python
>> 2.5.1, mod_python 3.3.1), which worked perfectly on Tiger.  I built
>> everything from their sources.
>>
>> This time around I got everything to work except for mod_python.  My
>> procedure had the following non-standard edits:
>>
>> httpd 2.2.6:
>>     Changed APR_HAS_SENDFILE to 0 in srclib/apr/include/apr.h
>>     After installation I backed up /usr/sbin/httpd and entered
>>       ln -s /usr/local/apache2/bin/httpd /usr/sbin/httpd.
>>     (This allows you to activate the compiled httpd from the Sharing
>> Preferences, which will also have the built-in firewall open and  
>> close
>> port 80 in sync with the server.)
>>
>> Python 2.5.1:
>>     After ./configure --enable-framework I added -DSETPGRP_HAVE_ARG
>> to the top-level Makefile (make exits with an error otherwise due  
>> to a
>> lack of arguments to setpgrp()).
>>
>> Both of the above work as expected, but when I threw mod_python into
>> the mix I kept getting the following error:
>>
>> [Sun Nov 25 09:43:22 2007] [error] make_obcallback: could not import
>> mod_python.apache.\n
>> ImportError: No module named mod_python.apache
>> [Sun Nov 25 09:43:22 2007] [error] make_obcallback: Python path being
>> used "['/usr/lib/python25.zip', '/usr/lib/python2.5', '/usr/lib/
>> python2.5/plat-darwin', '/usr/lib/python2.5/plat-mac', '/usr/lib/
>> python2.5/plat-mac/lib-scriptpackages', '/usr/lib/python2.5/lib- 
>> tk', '/
>> usr/lib/python2.5/lib-dynload', '/Library/Python/2.5/site- 
>> packages']".
>> [Sun Nov 25 09:43:22 2007] [error] get_interpreter: no interpreter
>> callback found.
>> [Sun Nov 25 09:43:22 2007] [error] [client 10.0.1.2] python_handler:
>> Can't get/create interpreter., referer: http://10.0.1.2/~simon/test/
>>
>> I used a number of scripts to test the installation, including
>> mptest.py from the mod_python doc.  The last script I used to test  
>> did
>> not import mod_python.apache explicitly:
>>
>> from mod_python import util
>>
>> def index(req):
>>   util.redirect(req, 'www.example.com')
>>
>> While installing mod_python the output made clear that it took up the
>> interpreter in /usr/local/bin rather than the one provided by Apple
>> in /usr/bin and installed under /Library/Frameworks/Python.framework/
>> Versions/2.5/lib/python2.5/site-packages/ rather than /Library/ 
>> Python/
>> 2.5/site-packages.
>>
>> I don't know from where it pulled that path.  The interpreter I
>> compiled uses the path:
>>
>> ['', '/Library/Frameworks/Python.framework/Versions/2.5/lib/
>> python25.zip', '/Library/Frameworks/Python.framework/Versions/2.5/ 
>> lib/
>> python2.5', '/Library/Frameworks/Python.framework/Versions/2.5/lib/
>> python2.5/plat-darwin', '/Library/Frameworks/Python.framework/ 
>> Versions/
>> 2.5/lib/python2.5/plat-mac', '/Library/Frameworks/Python.framework/
>> Versions/2.5/lib/python2.5/plat-mac/lib-scriptpackages', '/Library/
>> Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-tk', '/
>> Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-
>> dynload', '/Library/Frameworks/Python.framework/Versions/2.5/lib/
>> python2.5/site-packages']
>>
>> The interpreter provided by Apple uses:
>>
>> ['', '/System/Library/Frameworks/Python.framework/Versions/2.5/lib/
>> python25.zip', '/System/Library/Frameworks/Python.framework/Versions/
>> 2.5/lib/python2.5', '/System/Library/Frameworks/Python.framework/
>> Versions/2.5/lib/python2.5/plat-darwin', '/System/Library/Frameworks/
>> Python.framework/Versions/2.5/lib/python2.5/plat-mac', '/System/
>> Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/plat-
>> mac/lib-scriptpackages', '/System/Library/Frameworks/ 
>> Python.framework/
>> Versions/2.5/Extras/lib/python', '/System/Library/Frameworks/
>> Python.framework/Versions/2.5/lib/python2.5/lib-tk', '/System/ 
>> Library/
>> Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib- 
>> dynload', '/
>> Library/Python/2.5/site-packages', '/System/Library/Frameworks/
>> Python.framework/Versions/2.5/Extras/lib/python/PyObjC']
>>
>> This morning I logged on to my Linux web server and installed all
>> these packages from source without any problems.
>>
>> --S.
>>
>> _______________________________________________
>> Mod_python mailing list
>> Mod_python at modpython.org
>> http://mailman.modpython.org/mailman/listinfo/mod_python
>>



More information about the Mod_python mailing list