I finally got this working. 

There is good discussion on this error 
here: https://bugzilla.redhat.com/show_bug.cgi?id=645193

"the problem can be bypassed by telling SELinux to allow httpd to execute 
code from the tmp directory, for which there's apparently now a special 
flag. I haven't tried myself, but it looks like the command

setsebool httpd_tmp_exec on"


allowing httpd to execute code on tmp directory, in addition to other things 
I've tried, solved my problem. Now I can import numpy and cv2 both. 




On Saturday, October 12, 2013 11:08:10 AM UTC-4, Bhaarat Sharma wrote:
>
> 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