Graham Dumpleton
grahamd at dscpl.com.au
Wed Jul 19 05:58:41 EDT 2006
On 19/07/2006, at 6:30 PM, mvanier wrote: > I'm trying to run mod_python using the latest mod_python snapshot > with apache 2.2 (compiled from source) on Debian Linux. I've run > into a strange error: when I try to run a python script through the > server, the wrong python executable gets called. Here's the apache > error log: > > [Wed Jul 19 01:21:25 2006] [error] make_obcallback: could not > import mod_python.apache.\n > ImportError: No module named mod_python.apache > [Wed Jul 19 01:21:25 2006] [error] make_obcallback: Python path > being used "['/usr/lib/python24.zip', '/usr/lib/python2.4', '/usr/ > lib/python2.4/plat-linux2', '/usr/lib/python2.4/lib-tk', '/usr/lib/ > python2.4/lib-dynload', '/usr/local/lib/python2.4/site-packages', '/ > usr/lib/python2.4/site-packages', '/usr/lib/python2.4/site-packages/ > PIL', '/var/lib/python-support/python2.4', '/usr/lib/site-python']". > [Wed Jul 19 01:21:25 2006] [error] get_interpreter: no interpreter > callback found. > [Wed Jul 19 01:21:25 2006] [error] [client 127.0.0.1] > python_handler: Can't get/create interpreter. > > The sys.path of this python interpreter is the one that would exist > if /usr/bin/python2.4 (which was installed by Debian) was called > instead of the correct one, which (in my case) is /usr/local/ > packages/python/bin/python (which I compiled and installed myself > from source). I specified this executable when I configured > mod_python (using the --with-python option). For some reason, > though, it isn't getting used. Any ideas would be appreciated. At least you triggered the new debug output specifically put into mod_python 3.2.9/3.3 to help debug this sort of problem. Anyway, try ensuring that you have "/usr/local/paclages/python/bin" first in the PATH environment variable of the user that Apache is run as. If you don't and when Python is initialised in the context of mod_python, it finds evidence first of Python being installed in some other location instead of the one you want, then it will setup sys.path based on the location of that other version of Python and thus not look where you actually installed the Python components of mod_python. BTW, does /usr/bin/python or /usr/lib/python2.4 actually exist. Graham
|