When you run the command line '/usr/local/lib/anaconda/bin/python' and dump out sys.path, what do you get?
Also, is there a specific reason you have installed the Python installation under /usr/local/lib? This is a strange place to be putting it, normally you would stick it under /usr/local, so you would have /usr/local/anaconda/bin/python. Graham On 10 March 2013 18:53, Steve Liang <[email protected]> wrote: > Here is the anaconda directory. Not sure what is mod_wsgi looking for: > > [Fri Mar 08 21:01:42 2013] [info] mod_wsgi (pid=23091): Python home > /usr/local/lib/anaconda. > [Fri Mar 08 21:01:42 2013] [info] mod_wsgi (pid=23091): Initializing > Python. > Could not find platform independent libraries <prefix> > Could not find platform dependent libraries <exec_prefix> > Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>] > ImportError: No module named site > > ============ > [root@ modules]# ls -al /usr/local/lib/anaconda/ > drwxr-xr-x 2 root root 4096 Mar 7 15:44 bin > drwxr-xr-x 2 root root 4096 Feb 14 12:04 conda-meta > drwxr-xr-x 3 root root 4096 Feb 14 12:04 docs > drwxr-xr-x 2 root root 4096 Feb 14 12:04 envs > drwxr-xr-x 4 root root 4096 Feb 14 12:04 etc > drwxr-xr-x 38 root root 4096 Feb 14 12:04 include > drwxr-xr-x 13 root root 16384 Feb 14 12:04 lib > -rw-rw-r-- 1 1012 1012 2480 Aug 18 2012 LICENSE.txt > drwxr-xr-x 93 root root 4096 Feb 14 12:04 pkgs > drwxr-xr-x 7 root root 4096 Feb 14 12:04 share > drwxr-xr-x 3 root root 4096 Feb 14 12:04 var > > ========== > This is /etc/httpd/conf/httpd.conf > WSGIPythonHome /usr/local/lib/anaconda > #WSGIPythonPath /usr/local/lib/anaconda/lib/python2.7/site-packages > WSGIScriptAlias /abc /var/www/wsgi-scripts/abc > WSGIVerboseDebugging On > > <Directory "/var/www/wsgi-scripts"> > Order allow,deny > Allow from all > </Directory> > > > > > When I switched back to the repository mod_wsgi (and uncomment > WSGIPythonHome), I can run the test.wsgi (w/ printing sys.path) > [Sun Mar 10 21:35:12 2013] [warn] mod_wsgi: Compiled for Python/2.6.2. > [Sun Mar 10 21:35:12 2013] [warn] mod_wsgi: Runtime using Python/2.6.6. > [Sun Mar 10 21:35:12 2013] [info] mod_wsgi (pid=4165): Initializing Python. > --- --- > [Sun Mar 10 21:35:12 2013] [notice] Apache/2.2.15 (Unix) DAV/2 PHP/5.3.3 > mod_wsgi/3.2 Python/2.6.6 configured -- resuming normal operations > [Sun Mar 10 21:35:12 2013] [info] mod_wsgi (pid=4172): Initializing Python. > [Sun Mar 10 21:35:12 2013] [info] mod_wsgi (pid=4166): Attach interpreter > ''. > [Sun Mar 10 21:35:12 2013] [info] mod_wsgi (pid=4167): Attach interpreter > ''. > [Sun Mar 10 21:35:12 2013] [info] mod_wsgi (pid=4165): Attach interpreter > ''. > [Sun Mar 10 21:35:12 2013] [info] mod_wsgi (pid=4168): Attach interpreter > ''. > [Sun Mar 10 21:35:12 2013] [info] mod_wsgi (pid=4169): Attach interpreter > ''. > [Sun Mar 10 21:35:12 2013] [info] mod_wsgi (pid=4170): Attach interpreter > ''. > [Sun Mar 10 21:35:12 2013] [info] mod_wsgi (pid=4171): Attach interpreter > ''. > [Sun Mar 10 21:35:12 2013] [info] mod_wsgi (pid=4172): Attach interpreter > ''. > [Sun Mar 10 21:35:24 2013] [info] [client 172.21.109.153] Digest: user > steve: nonce expired (188171.00 seconds old - max lifetime 300.00) - > sending new nonce > [Sun Mar 10 21:35:42 2013] [info] mod_wsgi (pid=4171): Create interpreter ' > server.xyz.com|/abc/test0.wsgi'. > [Sun Mar 10 21:35:42 2013] [debug] mod_wsgi.c(5111): mod_wsgi (pid=4171): > Bind thread state for thread 0 against interpreter server.xyz.com > |/abc/test0.wsgi'. > [Sun Mar 10 21:35:42 2013] [info] [client 172.21.109.153] mod_wsgi > (pid=4171, process='', application=server.xyz.com|/abc/test0.wsgi'): > Loading WSGI script '/var/www/wsgi-scripts/abc/test0.wsgi'. > [Sun Mar 10 21:35:42 2013] [error] sys.prefix = '/usr' > [Sun Mar 10 21:35:42 2013] [error] sys.path = ['/usr/lib64/python26.zip', > '/usr/lib64/python2.6', '/usr/lib64/python2.6/plat-linux2', > '/usr/lib64/python2.6/lib-tk', '/usr/lib64/python2.6/lib-old', > '/usr/lib64/python2.6/lib-dynload', '/usr/lib64/python2.6/site-packages', > '/usr/lib64/python2.6/site-packages/gtk-2.0', > '/usr/lib/python2.6/site-packages', > '/usr/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg-info'] > [Sun Mar 10 21:35:50 2013] [info] mod_wsgi (pid=4170): Destroying > interpreters. > [Sun Mar 10 21:35:50 2013] [info] mod_wsgi (pid=4165): Destroying > interpreters. > [Sun Mar 10 21:35:50 2013] [info] mod_wsgi (pid=4170): Cleanup interpreter > ''. > > > Not sure what goes wrong here... > > Steve > > > On Friday, March 8, 2013 8:22:09 PM UTC-5, Graham Dumpleton wrote: > >> Sorry, missed that you had included it. >> >> Set Apache LogLevel: >> >> LogLevel debug >> >> and: >> >> WSGIVerboseDebugging On >> >> and see what debug messages in log for mod_wsgi say. >> >> Graham >> >> >> On 8 March 2013 17:11, Steve Liang <[email protected]> wrote: >> >>> [root@ modules]# ldd mod_wsgi.so >>> linux-vdso.so.1 => (0x00007fff2b7ff000) >>> libpython2.7.so.1.0 => >>> /usr/local/lib/anaconda/lib/**li**bpython2.7.so.1.0 >>> (0x00007f645d54e000) >>> libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f645d317000) >>> libdl.so.2 => /lib64/libdl.so.2 (0x00007f645d113000) >>> libutil.so.1 => /lib64/libutil.so.1 (0x00007f645cf10000) >>> libm.so.6 => /usr/local/lib/anaconda/lib/**li**bm.so.6 >>> (0x00007f645cc8c000) >>> libc.so.6 => /lib64/libc.so.6 (0x00007f645c8f9000) >>> /lib64/ld-linux-x86-64.so.2 (0x000000304d800000) >>> >>> On Friday, March 8, 2013 7:57:58 PM UTC-5, Graham Dumpleton wrote: >>> >>>> What do you get when you run: >>>> >>>> ldd mod_wsgi.so >>>> >>>> Graham >>>> >>>> >>>> On 8 March 2013 16:49, Steve Liang <[email protected]> wrote: >>>> >>>>> Thanks Graham, I still get the same error. >>>>> >>>>> SELinux is disabled. >>>>> [root@ /]# sestatus >>>>> SELinux status: disabled >>>>> >>>>> user apache has access to /usr/local/lib/anaconda/ >>>>> [root@ /]# sudo -u apache ls /usr/local/lib/anaconda/ >>>>> bin conda-meta docs envs etc include lib LICENSE.txt pkgs >>>>> share var >>>>> >>>>> >>>>> Here are some output: >>>>> [user@ mod_wsgi-3.4]$ ./configure --with-python=/usr/local/lib/**a** >>>>> naconda/bin/python >>>>> checking for apxs2... no >>>>> checking for apxs... /usr/sbin/apxs >>>>> checking Apache version... 2.2.15 >>>>> configure: creating ./config.status >>>>> config.status: creating Makefile >>>>> >>>>> [user@ mod_wsgi-3.4]$ LD_RUN_PATH=/usr/local/lib/**ana**conda/lib make >>>>> /usr/sbin/apxs -c -I/usr/local/lib/anaconda/**incl**ude/python2.7 >>>>> -DNDEBUG mod_wsgi.c -L/usr/local/lib/anaconda/lib >>>>> -L/usr/local/lib/anaconda/lib/****python2.7/config -lpython2.7 >>>>> -lpthread -ldl -lutil -lm >>>>> /usr/lib64/apr-1/build/libtool --silent --mode=compile gcc -prefer-pic >>>>> -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector >>>>> --param=ssp-buffer-size=4 -m64 -mtune=generic -Wformat-security >>>>> -fno-strict-aliasing -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -pthread >>>>> -I/usr/include/httpd -I/usr/include/apr-1 -I/usr/include/apr-1 >>>>> -I/usr/local/lib/anaconda/**inc**lude/python2.7 -DNDEBUG -c -o >>>>> mod_wsgi.lo mod_wsgi.c && touch mod_wsgi.slo >>>>> ... ... >>>>> >>>>> [root@ mod_wsgi-3.4]# LD_RUN_PATH=/usr/local/lib/**ana**conda/lib >>>>> make install >>>>> /usr/sbin/apxs -i -S LIBEXECDIR=/usr/lib64/httpd/**mo**dules -n >>>>> 'mod_wsgi' mod_wsgi.la >>>>> /usr/lib64/httpd/build/**instdso**.sh SH_LIBTOOL='/usr/lib64/apr-1/**b >>>>> **uild/libtool' mod_wsgi.la /usr/lib64/httpd/modules >>>>> /usr/lib64/apr-1/build/libtool --mode=install cp >>>>> mod_wsgi.la/usr/lib64/httpd/modules/ >>>>> libtool: install: cp .libs/mod_wsgi.so /usr/lib64/httpd/modules/mod_** >>>>> w**sgi.so >>>>> libtool: install: cp .libs/mod_wsgi.lai /usr/lib64/httpd/modules/mod_* >>>>> *w**sgi.la <http://mod_wsgi.la> >>>>> libtool: install: cp .libs/mod_wsgi.a /usr/lib64/httpd/modules/mod_**w >>>>> **sgi.a >>>>> libtool: install: chmod 644 /usr/lib64/httpd/modules/mod_**w**sgi.a >>>>> libtool: install: ranlib /usr/lib64/httpd/modules/mod_**w**sgi.a >>>>> libtool: finish: PATH="/usr/lib64/qt-3.3/bin:/**u** >>>>> sr/NX/bin:/usr/local/sbin:/**sbi**n:/bin:/usr/sbin:/usr/bin::**/**root/bin:/sbin" >>>>> ldconfig -n /usr/lib64/httpd/modules >>>>> ------------------------------****------------------------------**** >>>>> ---------- >>>>> Libraries have been installed in: >>>>> /usr/lib64/httpd/modules >>>>> >>>>> Verifying the libraries: >>>>> [root@ modules]# ldd mod_wsgi.so >>>>> linux-vdso.so.1 => (0x00007fff2b7ff000) >>>>> libpython2.7.so.1.0 => >>>>> /usr/local/lib/anaconda/lib/**li**bpython2.7.so.1.0 >>>>> (0x00007f645d54e000) >>>>> libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f645d317000) >>>>> libdl.so.2 => /lib64/libdl.so.2 (0x00007f645d113000) >>>>> libutil.so.1 => /lib64/libutil.so.1 (0x00007f645cf10000) >>>>> libm.so.6 => /usr/local/lib/anaconda/lib/**li**bm.so.6 >>>>> (0x00007f645cc8c000) >>>>> libc.so.6 => /lib64/libc.so.6 (0x00007f645c8f9000) >>>>> /lib64/ld-linux-x86-64.so.2 (0x000000304d800000) >>>>> >>>>> The new mod_wsgi.so is about 426k, is it a reasonable size? The >>>>> orginal one is about 150k. >>>>> [root@sacqtwe03 modules]# ls -al mod_wsgi* >>>>> -rwxr-xr-x 1 root root 426744 Mar 8 19:40 mod_wsgi.so >>>>> -rwxr-xr-x 1 root root 150888 Aug 22 2010 mod_wsgi.so.orig >>>>> >>>>> start apache (log level info): >>>>> [root@ modules]# service httpd start >>>>> Starting httpd: [ OK ] >>>>> >>>>> This is what's in the error_log: >>>>> [Fri Mar 08 19:44:46 2013] [notice] suEXEC mechanism enabled (wrapper: >>>>> /usr/sbin/suexec) >>>>> [Fri Mar 08 19:44:46 2013] [notice] Digest: generating secret for >>>>> digest authentication ... >>>>> [Fri Mar 08 19:44:46 2013] [notice] Digest: done >>>>> [Fri Mar 08 19:44:46 2013] [info] APR LDAP: Built with OpenLDAP LDAP >>>>> SDK >>>>> [Fri Mar 08 19:44:46 2013] [info] LDAP: SSL support available >>>>> [Fri Mar 08 19:44:46 2013] [info] mod_wsgi (pid=17206): Python home >>>>> /usr/local/lib/anaconda. >>>>> [Fri Mar 08 19:44:46 2013] [info] mod_wsgi (pid=17206): Initializing >>>>> Python. >>>>> [Fri Mar 08 19:44:46 2013] [info] mod_wsgi (pid=17207): Python home >>>>> /usr/local/lib/anaconda. >>>>> [Fri Mar 08 19:44:46 2013] [info] mod_wsgi (pid=17207): Initializing >>>>> Python. >>>>> [Fri Mar 08 19:44:46 2013] [info] mod_wsgi (pid=17208): Python home >>>>> /usr/local/lib/anaconda. >>>>> [Fri Mar 08 19:44:46 2013] [info] mod_wsgi (pid=17208): Initializing >>>>> Python. >>>>> [Fri Mar 08 19:44:46 2013] [info] mod_wsgi (pid=17209): Python home >>>>> /usr/local/lib/anaconda. >>>>> [Fri Mar 08 19:44:46 2013] [info] mod_wsgi (pid=17209): Initializing >>>>> Python. >>>>> [Fri Mar 08 19:44:46 2013] [info] mod_wsgi (pid=17210): Python home >>>>> /usr/local/lib/anaconda. >>>>> [Fri Mar 08 19:44:46 2013] [info] mod_wsgi (pid=17210): Initializing >>>>> Python. >>>>> Could not find platform independent libraries <prefix> >>>>> Could not find platform dependent libraries <exec_prefix> >>>>> Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>] >>>>> ImportError: No module named site >>>>> Could not find platform independent libraries <prefix> >>>>> Could not find platform dependent libraries <exec_prefix> >>>>> Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>] >>>>> ImportError: No module named site >>>>> [Fri Mar 08 19:44:46 2013] [info] mod_wsgi (pid=17211): Python home >>>>> /usr/local/lib/anaconda. >>>>> [Fri Mar 08 19:44:46 2013] [info] mod_wsgi (pid=17211): Initializing >>>>> Python. >>>>> Could not find platform independent libraries <prefix> >>>>> Could not find platform dependent libraries <exec_prefix> >>>>> Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>] >>>>> ImportError: No module named site >>>>> .... .... >>>>> >>>>> >>>>> >>>>> >>>>> On Friday, March 8, 2013 6:07:26 PM UTC-5, Graham Dumpleton wrote: >>>>> >>>>>> Don't link the .so into /usr/lib. >>>>>> >>>>>> Try instead when building mod_wsgi, doing: >>>>>> >>>>>> ./configure --with-python=/usr/local/lib/**a****naconda/bin/python >>>>>> LD_RUN_PATH=/usr/local/lib/**ana****conda/lib make >>>>>> LD_RUN_PATH=/usr/local/lib/**ana****conda/lib make install >>>>>> >>>>>> That will embed the library location in mod_wsgi.so so you don't have >>>>>> to symlink it into system directories. >>>>>> >>>>>> Other than that, don't see any specific issues with what you have >>>>>> done. >>>>>> >>>>>> Do make sure though that /usr/local/lib/anaconda is readable to >>>>>> others so Apache user can see inside that directory. >>>>>> >>>>>> Ensure you aren't running some sort of security extensions such as >>>>>> SELinux. >>>>>> >>>>>> Graham >>>>>> >>>>>> On 8 March 2013 14:15, Steve Liang <[email protected]> wrote: >>>>>> >>>>>>> OS: CentOS 6 >>>>>>> Apache: 2.2.15 from repository >>>>>>> Python: different versions installed >>>>>>> - default: 2.6.6 from repository (/usr/bin) >>>>>>> - also installed anaconda at /usr/lcoal/lib/anaconda >>>>>>> >>>>>>> mod_wsgi: >>>>>>> - default 3.2.1 from "yum install mod_wsgi" (this works with the >>>>>>> "hello world" test.wsgi) >>>>>>> >>>>>>> we want to use 2.7.3 python so we download mod_wsgi 3.4 and did the >>>>>>> following based in the instructions: >>>>>>> - ./configure --with-python=/usr/local/lib/**a****naconda/bin/python >>>>>>> - make >>>>>>> - make install (install to /etc/httpd/modules) >>>>>>> >>>>>>> - ldd /etc/httpd/modules/mod_wsgi.so disp libpyhon2.7.so not found, >>>>>>> so we did the following: >>>>>>> - ln -s /usr/local/lib/anaconda/lib/**li****bpython2.7.so.1.0 >>>>>>> /lib64/libpython2.7.so.1.0 >>>>>>> >>>>>>> - edit /etc/httpd/conf/httpd/conf to include the following: >>>>>>> >>>>>>> WSGIPythonHome /usr/local/lib/anaconda >>>>>>> #WSGIPythonPath /usr/local/lib/anaconda/lib/**py**** >>>>>>> thon2.7/site-packages >>>>>>> WSGIScriptAlias /abc /var/www/wsgi-scripts/abc >>>>>>> >>>>>>> <Directory "/var/www/wsgi-scripts"> >>>>>>> Order allow,deny >>>>>>> Allow from all >>>>>>> </Directory> >>>>>>> >>>>>>> But after httpd restart, we still get error: here is the error log: >>>>>>> [Fri Mar 08 16:44:24 2013] [notice] Apache/2.2.15 (Unix) DAV/2 >>>>>>> PHP/5.3.3 mod_wsgi/3.4 Python/2.7.3 configured -- resuming normal >>>>>>> operations >>>>>>> [Fri Mar 08 16:44:24 2013] [info] Server built: Feb 13 2012 22:31:42 >>>>>>> Could not find platform independent libraries <prefix> >>>>>>> Could not find platform dependent libraries <exec_prefix> >>>>>>> Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>] >>>>>>> ImportError: No module named site >>>>>>> [Fri Mar 08 16:44:24 2013] [info] mod_wsgi (pid=32538): Python home >>>>>>> /usr/local/lib/anaconda. >>>>>>> [Fri Mar 08 16:44:24 2013] [info] mod_wsgi (pid=32538): Initializing >>>>>>> Python. >>>>>>> Could not find platform independent libraries <prefix> >>>>>>> Could not find platform dependent libraries <exec_prefix> >>>>>>> Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>] >>>>>>> ImportError: No module named site >>>>>>> >>>>>>> In fact, not only wsgi not working, httpd does not working properly, >>>>>>> as our other webpages does not response. >>>>>>> >>>>>>> Any suggestions? >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> You received this message because you are subscribed to the Google >>>>>>> Groups "modwsgi" group. >>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>> send an email to modwsgi+u...@**googlegroups.com. >>>>>>> To post to this group, send email to [email protected]. >>>>>>> >>>>>>> Visit this group at http://groups.google.com/**group**** >>>>>>> /modwsgi?hl=en <http://groups.google.com/group/modwsgi?hl=en>. >>>>>>> For more options, visit https://groups.google.com/**grou**** >>>>>>> ps/opt_out <https://groups.google.com/groups/opt_out>. >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> -- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "modwsgi" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to modwsgi+u...@**googlegroups.com. >>>>> To post to this group, send email to [email protected]. >>>>> Visit this group at >>>>> http://groups.google.com/**group**/modwsgi?hl=en<http://groups.google.com/group/modwsgi?hl=en> >>>>> . >>>>> For more options, visit >>>>> https://groups.google.com/**grou**ps/opt_out<https://groups.google.com/groups/opt_out> >>>>> . >>>>> >>>>> >>>>> >>>> >>>> -- >>> You received this message because you are subscribed to the Google >>> Groups "modwsgi" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to modwsgi+u...@**googlegroups.com. >>> To post to this group, send email to [email protected]. >>> Visit this group at >>> http://groups.google.com/**group/modwsgi?hl=en<http://groups.google.com/group/modwsgi?hl=en> >>> . >>> For more options, visit >>> https://groups.google.com/**groups/opt_out<https://groups.google.com/groups/opt_out> >>> . >>> >>> >>> >> >> -- > You received this message because you are subscribed to the Google Groups > "modwsgi" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/modwsgi?hl=en. > For more options, visit https://groups.google.com/groups/opt_out. > > > -- You received this message because you are subscribed to the Google Groups "modwsgi" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/modwsgi?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
