का उपयोग करते समय आयात करने में विफल रहा है मुझे स्क्रिप्ट mod_wsgi
में चलाने में समस्या हो रही है। स्क्रिप्ट numpy और opencv का उपयोग करता है।आयात त्रुटि: numpy.core.multiarray mod_wsgi
यहां मेरी समस्या का विवरण दिया गया है।
मेरे पास बॉक्स पर दो पायथन संस्करण हैं लेकिन मैं स्क्रिप्ट को python2.7 के साथ चलाने के लिए चाहता हूं। तो दुभाषिया से मैं यह सुनिश्चित किया है कि मैं सीवी और numpy
$ 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'
मैं स्रोत से mod_wsgi डाउनलोड किया है और विन्यस्त और नीचे कमांड के साथ इसे स्थापित आयात कर सकते हैं:
./configure --with-python=/usr/local/bin/python2.7 --with-apxs=/usr/sbin/apxs
LD_RUN_PATH=/usr/local/lib/ make
sudo make install
कि mod_wsgi सुनिश्चित करना कॉन्फ़िगर किया गया है अच्छी तरह।
import web
import json
import cv2
#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()
:
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
यहाँ स्क्रिप्ट है:
$ 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)
साथ ही, मैं अपने httpd.conf
WSGIPythonHome /usr/local
WSGIPythonPath /usr/local/lib/python2.7/site-packages/
साइट संकुल निर्देशिका में निम्नलिखित है निम्न फ़ाइलें हैं
जब मैं ब्राउज़र से स्क्रिप्ट का उपयोग मैं में error_log
[error] ImportError: numpy.core.multiarray failed to import
सूचना है कि इस import cv2
लाइन पर होता है नीचे त्रुटि देखते हैं। अगर मैं इसे भी टिप्पणी करता हूं, तो import numpy as np
की तरह ही मेरी स्क्रिप्ट ठीक काम करती है।
मैं यह सुनिश्चित किया है मैं निम्न फ़ाइलें है:
$ 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
मेरे python2.7 कॉन्फ़िग फ़ाइल दिखाता है:
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
प्रश्न
क्या मैं हल कर सकते हैं इस मुद्दे? विंडोज़ के लिए
क्या आपको इस प्रोब के लिए समाधान मिला? – samkhan13
क्या त्रुटि तब होती है जब आप अपनी wsgi स्क्रिप्ट में केवल numpy आयात करते हैं? यदि ऐसा नहीं होता है तो आयात cv2 से पहले आयात numpy डालने का प्रयास करें, जो मदद कर सकता है। – Aldarund