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.

Reply via email to