Встановлення OpenCV для Python на Ubuntu, отримання ImportError: Немає модуля з іменем cv2.cv


87

У мене є система Ubuntu 14.04, на якій я хочу встановити OpenCV і використовувати її з Python 2.x.

Я встановив OpenCV, дотримуючись інструкцій тут: https://help.ubuntu.com/community/OpenCV

Здавалося, установка працювала належним чином, помилок не було, сценарій закінчувався виведенням

OpenCV 2.4.9 ready to be used

Коли я намагаюся запустити зразок сценарію Python, я отримую таке:

$ python opencv.py
Traceback (most recent call last):
  File "opencv.py", line 1, in <module>
    from cv2.cv import *
ImportError: No module named cv2.cv

Я підозрюю, що знаю чому, просто не знаю, як це виправити. OpenCV, встановлений у поточному каталозі, в якому я знаходився під час запуску сценарію інсталяції, це підкаталог моєї домашньої папки.

Інші, хто отримує цю помилку імпорту після інсталяції, мабуть, мають проблему із шляхом, і їм пощастило додати це до свого коду:

import sys
sys.path.append('/usr/local/lib/python2.7/site-packages')

або оновлення їх PYTHONPATH за допомогою того самого каталогу. Я спробував додати цей код, це не має значення. Я не бачу жодних файлів у каталозі "site-пакети". Чи слід було робити інсталяцію в цьому каталозі? Думаю, в інструкції з установки це було б написано. Я підозрюю, що моя проблема пов’язана з тим, що Python не знайшов встановлення OpenCV, але я не знаю, як діяти далі.

Будь ласка, допоможіть мені встановити OpenCV як можна простіше.



@krock Я не думаю, що це дубль цього. У мене немає файлу cv2.so, який присутній у моєму каталозі сайтів-пакетів, як у того користувача. Крім того, я згадав два рішення, наведені в цій публікації, і жодне з них тут не працювало.
грабіж

1
але ви можете імпортувати cv2? старий модуль cv (або cv2.cv) не буде там у майбутніх версіях
opencv

@berak Ні, я також не можу імпортувати cv2.
грабіж

Відповіді:


110

Я думаю, у вас немає python-opencv пакета.

У мене була точно така ж проблема і

sudo apt-get install python-opencv

вирішив питання для мене.

Ви можете встановити opencv за посиланням https://www.learnopencv.com/install-opencv3-on-ubuntu/ Це працює для мене. apt-get install не містить багато пакетів opencv


Чому ваша відповідь повинна відрізнятися від інших?
Мікеле д'Аміко

OP має пакет. В іншому випадку ImportError сказав би: "немає пакету з іменем cv2".
Енді Хейден,

Та сама проблема, спробували встановити відповідно до інструкцій тут: help.ubuntu.com/community/OpenCV Не пощастило. Це рішення спрацювало для мене. Дякую!
jschabs

2
Це було так просто! Після муки над багатьма іншими неймовірно складними "рішеннями", жодне з яких не спрацювало, це зробило трюк. Дякую! :-)
Rafael_Espericueta

sudo dnf встановити opencv-python для Fedora.
Дінука Тіланга

30

У мене теж було це питання. Пробував різні речі. Але нарешті

conda install opencv

працював у мене.


1
Це буде працювати, якщо припустити, що ваш пітон - це Anaconda.
ComputerScientist

4
Примітка: не conda install opencvпрацює для 64-розрядної Windows.
shahar_m

17

Якщо ви хочете якомога простіше, встановіть із сховища:

sudo apt-get install python-opencv libopencv-dev python-numpy python-dev

1
Мені довелося вирізати opencv-devчастину, але в іншому випадку ця відповідь для мене добре спрацювала.
Brian Z

Найкраща відповідь тут!
Giacomo1968

11

Використовуйте піп:

https://pypi.python.org/pypi/pip

$ pip install SomePackage
  [...]
  Successfully installed SomePackage

І коли ви додаєте шлях до PYTHONPATH за допомогою sys, PYTHONPATH він завжди перезапускається до значень за замовчуванням, коли ви закриваєте оболонку Python. Перевірте цю тему:

Постійно додайте каталог до PYTHONPATH

Спочатку додайте openCV до свого шляху (Короткий посібник):

https://help.ubuntu.com/community/OpenCV

після цього встановіть непитонові пакети pyopencv, що залежить від:

sudo apt-get build-dep python-opencv

нарешті, використовуйте pip:

pip install pyopencv

Крім того, ви можете переглянути цей посібник, щоб встановити openCV в ubuntu 14.04 LTS

http://www.samontab.com/web/2014/06/installing-opencv-2-4-9-in-ubuntu-14-04-lts/


4
Який пакет pip слід використовувати для OpenCV? Є багато перелічених на pypi.python.org/pypi , незрозуміло, який із них є офіційним та / або актуальним.
грабіж

Я збираюся відредагувати свою відповідь коротким путівником, будь ласка, позначте її як правильну, якщо це було корисно
Хуан Девід

2
Це неправильно. Причиною цієї помилки є те, що підмодуль cv більше не присутній в останніх версіях.
Енді Хейден,

Я вже не кажу про причину помилки. Я просто даю можливе рішення. Це працює для мене, можливо, може бути корисним для когось ще @AndyHayden
Juan David

ПОМИЛКА: Не вдалося знайти версію, яка відповідає вимозі pyopencv (із версій: 2.0.wr1.0.1-demo, 2.0.wr1.0.1, 2.0.wr1.1.0, 2.1.0.wr1.0.0, 2.1.0.wr1. 0.1, 2.1.0.wr1.0.2, 2.1.0.wr1.1.0, 2.1.0.wr1.2.0) ПОМИЛКА: Не знайдено відповідного розподілу для pyopencv
Степан Яковенко

10

Спробуйте, conda install -c conda-forge opencvякщо ви використовуєте анаконду, це працює!


8

Знайдіть, де cv2.soзнаходиться, наприклад /usr/local/lib/python2.7/dist-packages, а потім додайте це у своє ~/.bashrc, виконавши:

sudo gedit ~/.bashrc

і додати

export PYTHONPATH=/usr/local/lib/python2.7/dist-packages:$PYTHONPATH

В останньому рядку

А потім не забудьте відкрити інший термінал, це може працювати, і я вирішив свою проблему. Сподіваюся, це може вам допомогти.


5

Переконайтеся, що cv2.so зробив компіляцію, його слід розмістити у: /usr/local/lib/python2.7/site-packages Потім експортуйте цей шлях таким чином

export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH

Так само, як і у відповіді тут


4

Моє оточення:

  • Ubuntu 15.10
  • Python 3.5

Оскільки жодна з попередніх відповідей не працювала для мене, я завантажив OpenCV 3.0 з http://opencv.org/downloads.html і дотримувався інструкції з встановлення . Я використав таку cmakeкоманду:

$ ~/Programs/opencv-3.0.0$ cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D PYTHON3_EXECUTABLE=/usr/bin/python3.5 -D PYTHON_INCLUDE_DIR=/usr/include/python3.5 -D PYTHON_INCLUDE_DIR2=/usr/include/x86_64-linux-gnu/python3.5m -D PYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.5m.so -D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include/ -D PYTHON3_PACKAGES_PATH=/usr/lib/python3/dist-packages ..

Кожен крок підручника важливий. Зокрема, не забудьте зателефонувати sudo make install.


3

Я знайшов рішення в керівництві тут:

http://www.samontab.com/web/2014/06/installing-opencv-2-4-9-in-ubuntu-14-04-lts/

Я вдався до компіляції та встановлення з джерела. Процес був дуже плавним, якби я це знав, я б почав із цього, а не намагався знайти більш простий спосіб встановлення. Сподіваємось, ця інформація комусь корисна.


3

Створіть символічне посилання на OpenCV. Наприклад:

cd ~/.virtualenvs/cv/lib/python2.7/site-packages/
ln -s /usr/local/lib/python2.7/dist-packages/cv2.so cv2.so
ln -s /usr/local/lib/python2.7/dist-packages/cv.py cv.py

2

Якщо ви дійсно впевнені, що встановили cv2, але це не видає помилки модуля. Для цього є рішення. Можливо, у вас є cv2.soфайл у вашому каталозі

/usr/local/lib/python2.7/site-packages/cv2.so

перемістити цей cv2.soфайл в

/usr/lib/python2.7/site-packages

скопіюйте файл у каталог сайтів-пакетів



2

Повна установка кошмару, але я дам ще одну надію, що ви можете уникнути побудови opencv з джерела:

pip встановити opencv-contrib-python


1

якщо ви використовуєте платформу pycharm, дуже просто перейдіть до перегляду => вікна інструментів ==> консоль python, після чого ви побачите внизу консоль з [1]: введіть це!pip install opencv-python


1

Я спробував усі інші варіанти тут, але мені не вдалося import cv2працювати з Anaconda на Ubuntu. Це єдине, що допомогло:

pip install opencv-python


Дякую. це працює: pip3 встановіть opencv-python. ////// Тестування: python3 / import numpy / import cv2
Soner PALANCI

1

Ви можете створити джерело для офіційного підручника OpenCV . Вирішальна частина , щоб встановити PYTHON3_EXECUTABLE, PYTHON_LIBRARY, PYTHON3_PACKAGES_PATHі PYTHON3_NUMPY_INCLUDE_DIRSпараметри python3.6. Ось усі кроки:

  1. Клонуйте репо

    git clone https://github.com/opencv/opencv.git
    
  2. Створити buildкаталог

    cd ~/opencv
    mkdir build
    cd build
    
  3. Налаштуйте

    cmake -D CMAKE_BUILD_TYPE=RELEASE \
          -D CMAKE_INSTALL_PREFIX=/usr/local .. \
          -D PYTHON_INCLUDE_DIR=/usr/include/python3.6 \
          -D PYTHON_INCLUDE_DIR2=/usr/include/x86_64-linux-gnu/python3.6m \
          -D BUILD_NEW_PYTHON_SUPPORT=ON \
          -D BUILD_opencv_python3=ON \
          -D HAVE_opencv_python3=ON \
          -D INSTALL_PYTHON_EXAMPLES=ON \
          -D PYTHON3_EXECUTABLE=/usr/bin/python3.6 \
          -D PYTHON_DEFAULT_EXECUTABLE=/usr/bin/python3.6 \
          -D PYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.6m.so \
          -D PYTHON3_PACKAGES_PATH=/usr/lib/python3/dist-packages .. \
          -D PYTHON3_NUMPY_INCLUDE_DIRS=/home/user/.local/lib/python3.6/site-packages/numpy/core/include/
    
  4. Збірка

    make -j8
    
  5. Встановіть бібліотеки

    sudo make install
    
  6. Тест

    python3
    import cv2
    

Якщо ви не отримуєте повідомлення про помилку "Немає модуля з іменем cv2", тоді установка була успішною.

Примітка: Якщо ви не знаєте шлях до numpyдля PYTHON3_NUMPY_INCLUDE_DIRSпараметра, ви можете знайти його, виконавши , import numpyа потім numpy.__file__в Python3 оболонці.



0

Для мене ця проблема була пов'язана з тим, що я не належним чином пов'язав файл cv2.so у файлі~/.virtualenvs/cv/lib/python3.5/site-packages папці (ім’я вашого virualenv може бути не «cv», ваша версія python може бути не 3,5 - налаштуйте відповідно).

Якщо ви перейдете до ~/.virtualenvs/cv/lib/python3.5/site-packagesпапки та ls, файл cv2.so повинен виглядати світло-блакитним (Ubuntu 16.04), що показує, що він зв’язаний. Ви можете перевірити розташування посилання, набравши: readlink cv2.so

Якщо cv2.so відображається червоним (як це зробив мій), rm файл і введіть: (для моєї установки python 3.5)

ln -s /usr/local/lib/python3.5/dist-packages/cv2.cpython-35m-x86_64-linux-gnu.so cv2.so

АБО (якщо у вас python 3.6)

ln -s /usr/local/lib/python3.6/dist-packages/cv2.cpython-36m-x86_64-linux-gnu.so cv2.so

Якщо ви працюєте в python 2.6 або python 2.7, замість цього набираєте:

ln -s /usr/local/lib/python2.7/dist-packages/cv2.so cv2.so

Якщо файли cv2.so або cv2.cpython-36m-x86_64-linux-gnu.so у вашому /usr/local/lib/python***/dist-packagesмісцезнаходженні не існують , перевірте, чи перебувають вони в/usr/local/lib/python***/sites-packages папці. Якщо так, відрегулюйте шлях відповідно. Якщо ні, щось не вдалося з вашою установкою opencv.

Цю відповідь надихнула інформація тут: https://www.pyimagesearch.com/2016/10/24/ubuntu-16-04-how-to-install-opencv/


0

Для тих, хто намагається використовувати 3.1.0, але після встановлення python каже "cv2-модуль не знайдений".

У вас, ймовірно, є python, але не python-dev.

sudo apt-get install python-dev

потім переінсталюйте 3.1.0, і він запрацює.


0

спробуйте використовувати sudo apt install python3-opencv

він встановить найновіший пакет відкритого cv.

Або ви можете спробувати перевстановити пакет opencv. Можливо, він був пошкоджений під час встановлення.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.