Simon Kesenci
god at skri.org
Sun Nov 25 23:12:06 EST 2007
It shows the same result as for sys.path from the interpreter I compiled, minus the first item (''; no newline after <pre> in the source). /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 --S. On Nov 25, 2007, at 19:50, Graham Dumpleton wrote: > If you run a mod_python test handler and display back sys.path to your > browser, what does it show? > > Graham > > On 26/11/2007, Simon Kesenci <god at skri.org> wrote: >> Not sure how the Sharing Preferences starts apache but I suspect it >> uses something similar to sudo. At any rate I tried starting it the >> way you described and mod_python still worked as expected. >> >> I then removed /usr/local/bin from my personal account's path and >> logged back in, confirmed that the path lacked /usr/local/bin, used >> sudo -H to start apache again and mod_python still worked. >> >> I then renamed /usr/local/bin to /usr/local/bin2, restarted apache >> and >> mod_python still worked. >> >> It seems mod_python only needs to find the executable at the time you >> compile mod_python. >> >> Though I have my setup working, the question of where mod_python got >> the path in the error log in my original message remains. Neither >> interpreter on my computer yields that result via sys.path (although >> some of the items in that list correspond, via symlinks, to locations >> on the path from the interpreter that came with Leopard). >> >> --S. >> >> On Nov 25, 2007, at 18:21, Graham Dumpleton wrote: >> >>> 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 >>>> >> >>
|