Не удается найти модуль cv2 при использовании OpenCV
Я установил OpenCV в операционной системе Occidentalis (вариант Raspbian) на Raspberry Pi, используя скрипт jayrambhia, найденный здесь. Установлена версия 2.4.5.
Когда я пытаюсь import cv2
в программу Python, я получаю следующее сообщение:
[email protected]~$ python cam.py
Traceback (most recent call last)
File "cam.py", line 1, in <module>
import cv2
ImportError: No module named cv2
Файл cv2.so
хранится в /usr/local/lib/python2.7/site-packages/...
В /usr/local/lib
также есть папки с именами python3.2 и python2.6, которые могут быть проблемой, но я не уверен.
Возможно, это ошибка пути? Любая помощь приветствуется, я новичок в Linux.
Ответы
Ответ 1
Сначала выполните эти команды внутри Terminal/CMD:
conda update anaconda-navigator
conda update navigator-updater
тогда проблема для инструкции ниже будет решена
для Windows, если у вас установлена Anaconda, вы можете просто сделать
pip install opencv-python
или же
conda install -c https://conda.binstar.org/menpo opencv
если вы используете Linux, вы можете сделать:
pip install opencv-python
или же
conda install opencv
Ссылка1 Ссылка2
Для python3. 5+ проверьте эти ссылки: Link3, Link4
Ответ 2
Это происходит, когда python не может ссылаться на вашу папку пакетов сайтов по умолчанию, в которой вы сохранили требуемые файлы или библиотеки python.
Добавьте эти строки в код:
import sys
sys.path.append('/usr/local/lib/python2.7/site-packages')
или перед запуском команды python в bash перейдите в каталог /usr/local/lib/python 2.7/site-packages. Это работа, если вы не хотите добавлять что-либо в код.
Ответ 3
Я решил проблему, используя следующую команду:
conda install opencv
Ответ 4
Попробуйте добавить следующую строку в ~/.bashrc
export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH
Ответ 5
Пользователь Python3.x
sudo pip3 install opencv-python
Ответ 6
Ни один из вышеперечисленных ответов не работал для меня. Я сходил с ума, пока не нашел это решение ниже!
Просто запустите:
sudo apt install python-opencv
Ответ 7
Я решил свою проблему с помощью следующей команды:
pip install opencv-python
Ответ 8
Я пришел к тому же, что и эта проблема, я установил cv2 на
pip install cv2
Однако, когда я импортирую модуль cv2, он не отображает модуль с именем cv2 error.
Затем я искал и нашел файлы cv2.pyd
на своем компьютере, и я cv2.pyd
и cv2.pyd
в каталог сайтов-пакетов
C:\Python27\Lib\site-packages
затем я закрыл и снова открыл существующее приложение, оно сработало.
EDIT Я расскажу, как правильно установить cv2
.
1. Сначала установите numpy на свой компьютер
pip install numpy
2. Загрузите opencv из Интернета (почти 266 мб).
Я загружаю opencv-2.4.12.exe
для python 2.7. Затем установите этот файл opencv-2.4.12.exe.
Я C:\Users\harun\Downloads
в эту папку.
После установки перейдите в cv2.py
Для меня
C:\Users\harun\Downloads\opencv\build\python\2.7\x64
в этой папке возьмите cv2.pyd
и скопируйте его в
C:\Python27\Lib\site-packages
теперь вы можете использовать cv2
в сценариях python.
Ответ 9
Если вы хотите установить opencv в виртуальную среду. Запустите команду в терминале для получения списка виртуальной среды.
conda env list
или команда jupyter notebook
!conda env list
Затем обновите свою анаконду.
conda update anaconda-navigator
conda update navigator-updater
Установите opencv в выбранный путь к среде.
conda install -c ['environment path'] opencv
Ноутбук Juypter
!conda install --yes --prefix ['environment path'] opencv
Ответ 10
Если вы строите из царапины, перейдите через это
Вы не получили No module named cv2.cv
Сынок, ты все сделал правильно, так как твой sudo make install
дал ошибок.
Однако посмотрите на этот шаг
$ cd ~/.virtualenvs/cv/lib/python2.7/site-packages/
$ ln -s /usr/local/lib/python2.7/site-packages/cv2.so cv2.so
ОЧЕНЬ ВАЖНЫЙ ШАГ ВСЕГО, ЧТОБЫ СДЕЛАТЬ ЭТО.
ln -s /usr/local/lib/python2.7/site-packages/cv2.so cv2.so
or
ln -s /usr/local/lib/python2.7/dist-packages/cv2.so cv2.so
В тот момент, когда вы выбираете разумное связывание или методом грубой силы, просто найдите файл cv2.so, если он существует или нет.
Здесь я выкидываю свой вывод.
Successfully installed numpy-1.15.3
(cv) demonLover-desktop:~$ cd ~/.virtualenvs/cv/lib/python2.7/site-packages/
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ln -s /usr/local/lib/python2.7/site-packages/cv2.so cv2.so
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ pip list
Package Version
---------- -------
numpy 1.15.3
pip 18.1
setuptools 40.5.0
wheel 0.32.2
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ python
Python 2.7.12 (default, Dec 4 2017, 14:50:18)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named cv2
>>>
[2]+ Stopped python
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ls /usr/local/lib/python2.7/site-packages/c
ls: cannot access '/usr/local/lib/python2.7/site-packages/c': No such file or directory
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ls /usr/local/lib/python2.7/site-packages/
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ deactivate
demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ls /usr/local/lib/python2.7/site-packages/
demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ls
cv2.so easy_install.py easy_install.pyc numpy numpy-1.15.3.dist-info pip pip-18.1.dist-info pkg_resources setuptools setuptools-40.5.0.dist-info wheel wheel-0.32.2.dist-info
demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ls /usr/local/lib/python2.7/site-packages/
demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ls -l /usr/local/lib/python2.7/site-packages/
total 0
demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ls
cv2.so easy_install.py easy_install.pyc numpy numpy-1.15.3.dist-info pip pip-18.1.dist-info pkg_resources setuptools setuptools-40.5.0.dist-info wheel wheel-0.32.2.dist-info
demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ workon cv
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ python
Python 2.7.12 (default, Dec 4 2017, 14:50:18)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named cv2
>>>
[3]+ Stopped python
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ find / -name "cv2.so"
find: ‘/lost+found: Permission denied
find: ‘/run/udisks2: Permission denied
find: ‘/run/docker: Permission denied
find: ‘/run/exim4: Permission denied
find: ‘/run/lightdm: Permission denied
find: ‘/run/cups/certs: Permission denied
find: ‘/run/sudo: Permission denied
find: ‘/run/samba/ncalrpc/np: Permission denied
find: ‘/run/postgresql/9.5-main.pg_stat_tmp: Permission denied
find: ‘/run/postgresql/10-main.pg_stat_tmp: Permission denied
find: ‘/run/lvm: Permission denied
find: ‘/run/systemd/inaccessible: Permission denied
find: ‘/run/lock/lvm: Permission denied
find: ‘/root: Permission denied
^C
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ sudofind / -name "cv2.so"
sudofind: command not found
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ^C
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ sudo find / -name "cv2.so"
[sudo] password for app:
find: ‘/run/user/1000/gvfs: Permission denied
^C
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ sudo find /usr/ -name "cv2.so"
/usr/local/lib/python2.7/dist-packages/cv2.so
^C
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ln -s /usr/local/lib/python2.7/dist-packages/ccv2.so cv2.so
click/ clonevirtualenv.pyc configparser-3.5.0.dist-info/ configparser.py cv2.so cycler.py
clonevirtualenv.py concurrent/ configparser-3.5.0-nspkg.pth configparser.pyc cycler-0.10.0.dist-info/ cycler.pyc
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ln -s /usr/local/lib/python2.7/dist-packages/cv2.so cv2.so
ln: failed to create symbolic link 'cv2.so': File exists
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ rm cv2.so
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ln -s /usr/local/lib/python2.7/dist-packages/cv2.so cv2.so
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ ls
cv2.so easy_install.py easy_install.pyc numpy numpy-1.15.3.dist-info pip pip-18.1.dist-info pkg_resources setuptools setuptools-40.5.0.dist-info wheel wheel-0.32.2.dist-info
(cv) demonLover-desktop:~/.virtualenvs/cv/lib/python2.7/site-packages$ python
Python 2.7.12 (default, Dec 4 2017, 14:50:18)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>>
Мой шаг поможет, только если ваша сборка сделана правильно.
Ответ 11
Попробуйте следующее:
sudo ldconfig
sudo nano /etc/ld.so.conf.d/opencv.conf
и добавьте следующую строку в opencv.conf
не в окне команд
/usr/local/lib
Тогда:
sudo ldconfig
sudo nano /etc/bash.bashrc
и добавьте две строки в bash.bashrc
не в командном окне
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
наконец перезагрузите свой Pi sudo reboot now
и попробуйте import cv2
Ответ 12
У меня была такая же проблема, просто не мог понять это с opencv2 и opencv3, установленными в /opt/opencv и opencv3 соответственно. Оказалось, что кровавая установка anaconda из opencv в моем домашнем каталоге была сначала на пути и искалеченных opencv. Удалил его и начал использовать /opt/opencv 3/lib, как определено в /etc/ld.so.conf.d/opencv.conf. Совершенно отлично работал. У вас установлена анаконда? Это может быть проблема.
Ответ 13
Другой способ, которым я получил opencv для установки и работы, был в сообществе visual studio 2017.
Visual Studio имеет хорошую среду Python с отладкой.
Поэтому из окна env vs python я искал и добавил opencv.
Просто подумал, что поделюсь, потому что мне нравится пробовать разные вещи и на разных компьютерах.
![VisualStudio2017 python environments with opencv]()
Ответ 14
Я решаю это с помощью кода запуска pip install opencv_contrib_python