2013-06-25 5 views
5

मेरे पास मेरी मशीन पर पाइथन के दो अलग-अलग संस्करण हैं: 2.4 और 2.7। मैं 2.7 संस्करण के लिए ओपनसीवी (2.4.5) स्थापित करने की कोशिश कर रहा हूं।पायथन (एकाधिक पायथन संस्करण) के लिए ओपनसीवी स्थापित करें

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_NEW_PYTHON_SUPPORT=ON -D BUILD_EXAMPLES=ON .. 

यह वर्तमान स्थापना के रूप में अजगर 2.4 का पता लगाता है:

-- Python: 
--  Interpreter:     /usr/bin/python2.4 (ver 2.4) 
--  Libraries:     /usr/lib64/python2.4/config/libpython2.4.a 
--  numpy:      /usr/lib64/python2.4/site-packages/numpy/core/include (ver 1.2.1) 
--  packages path:    lib/python2.4/site-packages 

और बाद में opencv के निर्माण में मुझे इस त्रुटि देता है:

[ 75%] Generating pyopencv_generated_funcs.h, pyopencv_generated_func_tab.h, pyopencv_generated_types.h, pyopencv_generated_type_reg.h, pyopencv_generated_const_reg.h 
    File "/home/mmoghimi/opencv-2.4.5/modules/python/src2/gen2.py", line 815 
    cname1=("cv::Algorithm" if classinfo.isalgorithm else classinfo.cname))) 
          ^
SyntaxError: invalid syntax 
make[2]: *** [modules/python/pyopencv_generated_funcs.h] Error 1 
make[1]: *** [modules/python/CMakeFiles/opencv_python.dir/all] Error 2 
make: *** [all] Error 2 

जाहिरा तौर पर यह एक नया प्रारूप है कि को Python2 उपयोग करता है। 4 का समर्थन नहीं करता है। तो, मेरा सवाल यह है कि क्या पाइथन के संस्करण को स्पष्ट रूप से निर्दिष्ट करने का कोई तरीका है?

उत्तर

15

कुछ सीमेक झंडे हैं जो आपको स्पष्ट रूप से निर्दिष्ट करने के लिए पाइथन का कौन सा संस्करण उपयोग करने की अनुमति देते हैं। आपको पाइथन की स्थापना के लिए इन झंडे के मानों को सही स्थान पर सेट करने की आवश्यकता होगी।

झंडा नाम और संभावना स्थानों में नीचे हैं:

PYTHON_EXECUTABLE=/usr/bin/python2.7/ 
PYTHON_INCLUDE=/usr/include/python2.7/ 
PYTHON_LIBRARY=/usr/lib/libpython2.7.a //or .so for shared library 
PYTHON_PACKAGES_PATH=/usr/local/lib/python2.7/site-packages/ 
PYTHON_NUMPY_INCLUDE_DIR=/usr/local/lib/python2.7/dist-packages/numpy/core/include 

इन रास्तों से काम नहीं करते हैं, तो आप आपकी मशीन पर उन्हें खोजने के लिए की आवश्यकता होगी।

+0

हाँ है। आखिर में मैंने यही किया। http://www.megalinux.net/compiling-opencv-2-4-on-rhelcentos-5/ –

+0

भी। मुझे Python.h से #include से मॉड्यूल/पायथन/src2/cv2.cpp में पहली पंक्ति को बदलना पड़ा। अन्यथा, मुझे लगता है कि यह 2.4 स्थापना से Python.h ढूँढ रहा था। –

+3

सीएमके में जीयूआई इन झंडे (उनमें से अधिकतर) तब तक छिपाए जाते हैं जब तक कि आप "उन्नत" टिक चिह्नित न करें। – lapis

2

उपयोग virtualenv

virtualenv -p python2.7 env 
source env/bin/activate 
python --version # prints «Python 2.7.3» 
pip install pyopencv 

आप 2.4 (या अन्य संस्करण) के समर्थन की जरूरत है, सिर्फ नए माहौल पैदा करते हैं।

+0

मुझे यह त्रुटि मिल रही है: ओपनसीवी –

+0

के लिए सभी में कोई भी वितरण नहीं मिला मैंने वर्चुअल वातावरण में फिर से सेमेक चलाने की कोशिश की, मैंने काम नहीं किया। पाइथन मिला 2.4 –

+0

उह ... ठीक है। यह मेरी त्रुटि है, असली ओपनसीवी पैकेज नाम pyopencv है। –

संबंधित मुद्दे