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.