Установка OpenCV для Python на Ubuntu, получение ImportError: нет модуля с именем cv2.cv

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

Я установил OpenCV, используя следующие инструкции: https://help.ubuntu.com/community/OpenCV

Установка, казалось, работала правильно, никаких ошибок, script закончился с выходом

OpenCV 2.4.9 ready to be used

Когда я пытаюсь запустить образец Python script, я получаю следующее:

$ 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 установлен в текущий каталог, в котором я находился, когда я запускал установку script, это подкаталог моей домашней папки.

Другие, которые получают эту ошибку импорта после установки, похоже, имеют проблему с пути, и им повезло добавить это в свой код:

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

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

Пожалуйста, помогите мне получить удобную установку OpenCV как можно проще.

Ответ 1

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

У меня была точно такая же проблема и

sudo apt-get install python-opencv

решил проблему для меня.

Вы можете установить opencv по следующей ссылке https://www.learnopencv.com/install-opencv3-on-ubuntu/ Это работает для меня. apt-get install не содержит много пакетов opencv

Ответ 2

У меня также была эта проблема. Пробовал разные вещи. Но, наконец,

conda install opencv

работал у меня.

Ответ 3

Если вы хотите как можно проще установить из репозитория:

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

Ответ 4

Использовать pip:

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

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

И когда вы добавляете путь к PYTHONPATH с помощью sys, PYTHONPATH всегда перезапускается до значений по умолчанию, когда вы закрываете оболочку Python. Проверьте эту тему:

Постоянно добавлять каталог в PYTHONPATH

Сначала добавьте openCV к вашему пути (краткое руководство):

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

после этого установите пакеты, отличные от python, 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/

Ответ 5

Попробуйте conda install -c conda-forge opencv, если вы используете anaconda, он работает!

Ответ 6

Найдите, где cv2.so, например /usr/local/lib/python2.7/dist-packages, затем добавьте его в свой ~/.bashrc, выполнив:

sudo gedit ~/.bashrc

и добавьте

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

В последней строке

И тогда не забудьте открыть другой терминал, это может быть работа, и я решил свою проблему. Надеюсь, это поможет вам.

Ответ 7

Убедитесь, что cv2.so выполнил компиляцию: /usr/local/lib/python 2.7/site-packages Затем экспортируйте этот путь, как этот

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

То же, что и в ответе здесь

Ответ 8

Моя среда:

  • 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.

Ответ 9

Я нашел решение в руководстве здесь:

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

Я прибегал к компиляции и установке из исходного кода. Процесс был очень гладким, если бы я знал, я бы начал с этого, вместо того, чтобы пытаться найти более простой способ установки. Надеюсь, эта информация поможет кому-то.

Ответ 10

Создайте символическую ссылку на 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

Ответ 11

Если вы действительно уверены, что вы установили cv2, но он не дает ошибок модуля. Для этого есть решение. Возможно, у вас есть cv2.so файл в вашем каталоге

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

переместите этот файл cv2.so в

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

скопировать файл в каталог сайтов-пакетов

Ответ 12

если вы используете платформу pycharm, очень просто перейти в view = > tool window == > консоль python после этого вы увидите внизу консоль с [1]: введите !pip install opencv-python

Ответ 13

Попробуйте использовать: from cv2 import cv

Меня устраивает.

Ответ 14

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

Скорее всего, у вас есть python, но нет python-dev.

sudo apt-get install python-dev

затем переустановите 3.1.0 и все заработает.

Ответ 15

Мне показалось, что это работает на Max OSX: https://anaconda.org/menpo/opencv3

conda install -c menpo opencv3=3.1.0

Я подтвердил, что вы можете импортировать cv2 в python, используя python2.7 и python3

Ответ 16

Для меня эта проблема возникла из-за того, что я не соответствующим образом связал файл 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/

Ответ 17

Это полный кошмар установки, но я дам еще одну надежду, что вы можете избежать сборки opencv из исходного кода:

pip install opencv-contrib-python

Ответ 18

Я попробовал все остальные варианты здесь, но я не смог заставить import cv2 работать с Анакондой в Ubuntu. Это единственное, что помогло:

pip install opencv-python