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

Graham Dumpleton graham.dumpleton at gmail.com
Sun Nov 25 21:21:16 EST 2007


On 26/11/2007, Simon Kesenci <god at skri.org> wrote:
> 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.

More than likely you used 'sudo' to restart Apache and it therefore
picked up your personal PATH which had /usr/local/bin first. Do a:

  sudo -H apachcetl stop
  sudo -H apachectl start

and see if you are so lucky. The -H option prevents your personal user
environment transferring over to Apache startup environment.

Graham

> 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
> >>
>
> _______________________________________________
> 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