Sorry for so many messages but I'm trying to share as much info as possible to get over this hurdle.
I have been able to resolve the "Unable to change working directory to '/home/bhaarat'." error in error_log by specifying a home directory in WSGIDaemonProcess like this: WSGIDaemonProcess /processimages user=bhaarat group=bhaarat processes=2 threads=3 home=/var/www/webpy-app/ display-name=%{GROUP} However, when I access the url: curl --insecure "https://localhost/processimages?color=red&shade=dark" I still get internal server error and the error I posted earlier in ssl_error_log: [Sat Oct 12 15:00:54 2013] [error] [client 10.10.41.128] mod_wsgi (pid=10910): Target WSGI script '/var/www/webpy-app/service.py' cannot be loaded as Python module. [Sat Oct 12 15:00:54 2013] [error] [client 10.10.41.128] mod_wsgi (pid=10910): Exception occurred processing WSGI script '/var/www/webpy-app/service.py'. [Sat Oct 12 15:00:54 2013] [error] [client 10.10.41.128] Traceback (most recent call last): [Sat Oct 12 15:00:54 2013] [error] [client 10.10.41.128] File "/var/www/webpy-app/service.py", line 11, in <module> [Sat Oct 12 15:00:54 2013] [error] [client 10.10.41.128] import numpy [Sat Oct 12 15:00:54 2013] [error] [client 10.10.41.128] File "/usr/local/lib/python2.7/site-packages/numpy-1.7.1-py2.7-linux-x86_64.egg/numpy/__init__.py", line 155, in <module> [Sat Oct 12 15:00:54 2013] [error] [client 10.10.41.128] import ctypeslib [Sat Oct 12 15:00:54 2013] [error] [client 10.10.41.128] File "/usr/local/lib/python2.7/site-packages/numpy-1.7.1-py2.7-linux-x86_64.egg/numpy/ctypeslib.py", line 60, in <module> [Sat Oct 12 15:00:54 2013] [error] [client 10.10.41.128] import ctypes [Sat Oct 12 15:00:54 2013] [error] [client 10.10.41.128] File "/usr/local/lib/python2.7/ctypes/__init__.py", line 555, in <module> [Sat Oct 12 15:00:54 2013] [error] [client 10.10.41.128] _reset_cache() [Sat Oct 12 15:00:54 2013] [error] [client 10.10.41.128] File "/usr/local/lib/python2.7/ctypes/__init__.py", line 279, in _reset_cache [Sat Oct 12 15:00:54 2013] [error] [client 10.10.41.128] CFUNCTYPE(c_int)(lambda: None) [Sat Oct 12 15:00:54 2013] [error] [client 10.10.41.128] MemoryError On Saturday, October 12, 2013 9:51:13 AM UTC-4, Bhaarat Sharma wrote: > > So I've even started WSGI as daemon process. I got over the "Service > temporary unavailable" hurdle by going over the documentation. > > Finally I have the following in my httpd.conf > > WSGISocketPrefix run/wsgi > WSGIDaemonProcess /processimages user=bhaarat group=bhaarat processes=20 > threads=30 display-name=%{GROUP} > WSGIProcessGroup /processimages > WSGIPythonHome /usr/local > WSGIPythonPath /usr/local/lib/python2.7/site-packages/ > WSGIScriptAlias /processimages /var/www/webpy-app/service.py > #Alias /processimages/static /var/www/webpy-app/static > > .... > <Directory /var/www/webpy-app/> > WSGIApplicationGroup %{GLOBAL} > Order deny,allow > Allow from all > </Directory> > > Now, putting "import numpy" results in the following errors: > > In error_log: > > [alert] (13)Permission denied: mod_wsgi (pid=8396): Unable to change > working directory to '/home/bhaarat'. > > In ssl_error_log: > > [Sat Oct 12 13:44:49 2013] [error] [client 10.10.41.128] mod_wsgi > (pid=8380): Target WSGI script '/var/www/webpy-app/service.py' cannot be > loaded as Python module. > [Sat Oct 12 13:44:49 2013] [error] [client 10.10.41.128] mod_wsgi > (pid=8380): Exception occurred processing WSGI script > '/var/www/webpy-app/service.py'. > [Sat Oct 12 13:44:49 2013] [error] [client 10.10.41.128] Traceback (most > recent call last): > [Sat Oct 12 13:44:49 2013] [error] [client 10.10.41.128] File > "/var/www/webpy-app/service.py", line 11, in <module> > [Sat Oct 12 13:44:49 2013] [error] [client 10.10.41.128] import numpy > [Sat Oct 12 13:44:49 2013] [error] [client 10.10.41.128] File > "/usr/local/lib/python2.7/site-packages/numpy-1.7.1-py2.7-linux-x86_64.egg/numpy/__init__.py", > > line 155, in <module> > [Sat Oct 12 13:44:49 2013] [error] [client 10.10.41.128] import > ctypeslib > [Sat Oct 12 13:44:49 2013] [error] [client 10.10.41.128] File > "/usr/local/lib/python2.7/site-packages/numpy-1.7.1-py2.7-linux-x86_64.egg/numpy/ctypeslib.py", > > line 60, in <module> > [Sat Oct 12 13:44:49 2013] [error] [client 10.10.41.128] import ctypes > [Sat Oct 12 13:44:49 2013] [error] [client 10.10.41.128] File > "/usr/local/lib/python2.7/ctypes/__init__.py", line 555, in <module> > [Sat Oct 12 13:44:49 2013] [error] [client 10.10.41.128] _reset_cache() > [Sat Oct 12 13:44:49 2013] [error] [client 10.10.41.128] File > "/usr/local/lib/python2.7/ctypes/__init__.py", line 279, in _reset_cache > [Sat Oct 12 13:44:49 2013] [error] [client 10.10.41.128] > CFUNCTYPE(c_int)(lambda: None) > [Sat Oct 12 13:44:49 2013] [error] [client 10.10.41.128] MemoryError > > > I'm starting httpd as "sudo service httpd start" > > > > > On Saturday, October 12, 2013 8:20:24 AM UTC-4, Bhaarat Sharma wrote: >> >> I found that WSGIApplicationGroup should be under the <Directory tag. So >> now I have this in my httpd.conf >> >> WSGIPythonHome /usr/local >> WSGIPythonPath /usr/local/lib/python2.7/site-packages/ >> #WSGIDaemonProcess /processimages user=bhaarat group=bhaarat processes=2 >> threads=3 display-name=%{GROUP} >> #WSGIProcessGroup /processimages >> WSGIScriptAlias /processimages /var/www/webpy-app/service.py >> Alias /processimages/static /var/www/webpy-app/static >> >> <Directory /var/www/webpy-app/> >> WSGIApplicationGroup %{GLOBAL} >> Order deny,allow >> Allow from all >> </Directory> >> >> But this change did not help either ;( >> >> >> >> On Saturday, October 12, 2013 8:07:42 AM UTC-4, Bhaarat Sharma wrote: >>> >>> Thanks for the reply. However, that did not work. I added the >>> WSGIAplicationGroup to my httpd.conf like this: >>> >>> WSGIPythonHome /usr/local >>> WSGIPythonPath /usr/local/lib/python2.7/site-packages/ >>> WSGIApplicationGroup %{GLOBAL} >>> WSGIScriptAlias /processimages /var/www/webpy-app/service.py >>> >>> However, the Internal server error is still there when I add "import >>> numpy". Additionally, when I comment out "import numpy" and instead add >>> "import cv2" I see an error in error_log that says "[error] ImportError: >>> numpy.core.multiarray failed to import" >>> >>> As a daemon service. I tried adding the following to my httpd.conf >>> >>> WSGIPythonHome /usr/local >>> WSGIPythonPath /usr/local/lib/python2.7/site-packages/ >>> WSGIApplicationGroup %{GLOBAL} >>> WSGIDaemonProcess /processimages user=bhaarat group=bhaarat processes=2 >>> threads=25 >>> WSGIProcessGroup /processimages >>> WSGIScriptAlias /processimages /var/www/webpy-app/service.py >>> >>> However, after restarting the httpd service and trying to visit that >>> page I got this error: "Service Temporarily Unavailable" >>> >>> Thanks for help again >>> >>> >>> >>> On Friday, October 11, 2013 10:31:00 PM UTC-4, Graham Dumpleton wrote: >>>> >>>> Try adding to the Apache configuration: >>>> >>>> WSGIApplicationGroup %{GLOBAL} >>>> >>>> The bumpy module is from memory one which will not work in sub >>>> interpreters, so you need to force it to run in the main global >>>> interpreter, which is what the directive does. >>>> >>>> I would also suggest you look into using daemon mode of mod_wsgi if you >>>> aren't already. >>>> >>>> Graham >>>> >>>> On 12/10/2013, at 4:34 AM, Bhaarat Sharma <bhaa...@gmail.com> wrote: >>>> >>>> Additionally, Initially i did not install python with --enable-shared >>>> but later I did the following: >>>> >>>> sudo make distclean >>>> ./configure --prefix=/usr/local --enable-shared >>>> make && make altinstall >>>> >>>> However still no good. >>>> >>>> Some more information: >>>> >>>> >>> numpy.version.version >>>> '1.7.1' >>>> >>> import cv2 >>>> >>> cv2.__version__ >>>> '2.4.4' >>>> >>>> >>>> On Friday, October 11, 2013 11:47:39 AM UTC-4, Bhaarat Sharma wrote: >>>>> >>>>> I am trying to use numpy in a web.py script being used in mod_wsgi. >>>>> However, if I try to "import numpy" I get an "Internal Server Error" with >>>>> nothing in the error_log. I'm out of ideas of how to resolve this >>>>> problem. >>>>> I've following the installations instructions and ensured everything. >>>>> >>>>> I've verified that a simple web.py script without the 'import numpy' >>>>> works perfectly fine. >>>>> >>>>> Here are the details of my setup: >>>>> >>>>> *Everything works fine from interpreter:* >>>>> >>>>> $ python >>>>> Python 2.7.3 (default, Oct 8 2013, 15:53:09) >>>>> [GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2 >>>>> Type "help", "copyright", "credits" or "license" for more information. >>>>> >>> import cv2 >>>>> >>> import numpy >>>>> >>> import sys >>>>> >>> sys.prefix >>>>> '/usr/local' >>>>> >>>>> *I configured mod_wsgi like this:* >>>>> >>>>> ./configure --with-python=/usr/local/bin/python2.7 --with >>>>> -apxs=/usr/sbin/apxs >>>>> LD_RUN_PATH=/usr/local/lib/ make >>>>> sudo make install >>>>> >>>>> *Ensuring that mod_wsgi is configured properly:* >>>>> >>>>> $ ldd /usr/lib64/httpd/modules/mod_wsgi.so >>>>> linux-vdso.so.1 => (0x00007fff36dff000) >>>>> libpython2.7.so.1.0 => /usr/local/lib/libpython2.7.so.1.0 ( >>>>> 0x00007f9462710000) >>>>> libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f94624e8000) >>>>> libdl.so.2 => /lib64/libdl.so.2 (0x00007f94622e4000) >>>>> libutil.so.1 => /lib64/libutil.so.1 (0x00007f94620e1000) >>>>> libm.so.6 => /lib64/libm.so.6 (0x00007f9461e5c000) >>>>> libc.so.6 => /lib64/libc.so.6 (0x00007f9461ac9000) >>>>> /lib64/ld-linux-x86-64.so.2 (0x00007f9462d15000) >>>>> >>>>> *Added the following to httpd.conf* >>>>> >>>>> WSGIPythonHome /usr/local >>>>> WSGIPythonPath /usr/local/lib/python2.7/site-packages/ >>>>> >>>>> *Site-packages directory contains the following:* >>>>> >>>>> cv2.so >>>>> cv.py >>>>> distribute-0.6.35-py2.7.egg >>>>> easy-install.pth >>>>> numpy-1.7.1-py2.7-linux-x86_64.egg >>>>> README >>>>> setuptools-0.6c11-py2.7.egg-info >>>>> setuptools.pth >>>>> web.py-0.37-py2.7.egg >>>>> >>>>> *Here is my script:* >>>>> >>>>> import web >>>>> import json >>>>> import numpy as np >>>>> >>>>> urls = ( >>>>> '.*', 'Sample' >>>>> ) >>>>> >>>>> class Sample: >>>>> def GET(self): >>>>> user_data = web.input() >>>>> return json.dumps(self.perform(user_data.color, >>>>> user_data.shade)) >>>>> >>>>> def perform (self,color, shade): >>>>> return {'color': color, 'shade': shade} >>>>> >>>>> application = web.application(urls, globals()).wsgifunc() >>>>> >>>>> *I have the following files:* >>>>> >>>>> $ sudo find / -name libpython2.7.a >>>>> /usr/local/lib/python2.7/config/libpython2.7.a >>>>> /usr/local/lib/libpython2.7.a >>>>> >>>>> $ sudo find / -name libpython2.7.so* >>>>> /usr/local/lib/libpython2.7.so >>>>> /usr/local/lib/libpython2.7.so.1.0 >>>>> /usr/lib/libpython2.7.so >>>>> /usr/lib/libpython2.7.so.1.0 >>>>> >>>>> *and my Python2.7 config directory has these files:* >>>>> >>>>> config.c >>>>> config.c.in >>>>> install-sh >>>>> libpython2.7.a >>>>> libpython2.7.so -> ../../libpython2.7.so >>>>> libpython2.7.so.1.0 -> ../../libpython2.7.so.1.0 >>>>> Makefile >>>>> makesetup >>>>> python.o >>>>> Setup >>>>> Setup.config >>>>> Setup.local >>>>> >>>>> I'll appreciate any help >>>>> >>>> >>>> -- >>>> 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 mod...@googlegroups.com. >>>> Visit this group at http://groups.google.com/group/modwsgi. >>>> 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 modwsgi+unsubscr...@googlegroups.com. To post to this group, send email to modwsgi@googlegroups.com. Visit this group at http://groups.google.com/group/modwsgi. For more options, visit https://groups.google.com/groups/opt_out.