Graham Dumpleton
graham.dumpleton at gmail.com
Thu Apr 2 17:36:01 EDT 2009
2009/4/3 <Roselinda.Ackermans at ec.europa.eu>: > Hi, > I just installed mod_python module (3.3.1) from blastwave, on Solaris 9, > with Apache 2 and python 2.5.1 > In httpd.conf : > <Directory /www/test> > AddHandler mod_python .py > PythonHandler ptest > PythonDebug On > </Directory> > > ptest.py being a test script in /www/test > > When I try http://myserver/test/ptest.py, I get these errors in error_log : > <...> > File "/opt/csw/lib/python/hashlib.py", line 133, in <module> > md5 = __get_builtin_constructor('md5') > File "/opt/csw/lib/python/hashlib.py", line 60, in __get_builtin_constructor > import _md5 > ImportError: No module named _md5 > [Mon Mar 23 15:27:29 2009] [error] get_interpreter: no interpreter callback > foun > d. > [Mon Mar 23 15:27:29 2009] [error] [client 192.10.10.10] python_handler: > Can't > get/create interpreter. > > When I start python console, I can do "import hashlib" without error > message. > I put a few print statements around 'import _hashlib' in the hashlib.py > file, and it seems indeed that 'import _hashlib' hits the exception when > hashlib.py is loaded from within mod_python, but loads fine from within the > python console. > > I also printed the value of sys.path, and this is the same in both cases. > What could the problem then be ? It shouldn't be trying to import _md5.so. That is a fallback attempt when _hashlib.so cannot be loaded, but _md5.so isn't a part of Python 2.5 anymore. Likely problem is that _hashlib.so cannot find the shared libraries it is dependent upon. Run: ldd /some/path/_hashlib.so to work out what shared libraries it requires. If you have added that library directory explicitly to LD_LIBRARY_PATH in your environment to get command line Python to work, then you will need to edit your Apache startup scripts, 'envvars' if you have a standard Apache installation, to add: LD_LIBRARY_PATH=/some/path export LD_LIBRARY_PATH So, post result of ldd and also do following and post results. unset LD_LIBRARY_PATH python >>> import hashlib Graham
|