Неможливо знайти модуль cv2 при використанні OpenCV


264

Я встановив OpenCV в операційній системі Occidentalis (варіант Raspbian) на Raspberry Pi, використовуючи скрипт jayrambhia, знайдений тут . В ньому встановлена ​​версія 2.4.5.

Коли я пробую import cv2програму Python, я отримую таке повідомлення:

pi@raspberrypi~$ 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.


3
спробувати: python --вернення. якщо він говорить 3.2, то ви отримаєте підказку. спробуйте знайти 2,7 виконуваного файлу, і зателефонуйте до нього з абсолютним шляхом
berak

3
Для macOS 10.12 та python 3 проста команда нижче працювала над усуненням помилки: pip install opencv-python Посилання: pypi.python.org/pypi/opencv-python
Tushar

Якщо ви використовуєте MacOS Каталіни, може бути , це може допомогти вам stackoverflow.com/a/61578366/11559619
NicolasElPapu

Відповіді:


346

Спочатку запустіть ці команди всередині Terminal / CMD:

conda update anaconda-navigator  
conda update navigator-updater  

тоді питання щодо інструкції нижче буде вирішено

для Windows, якщо у вас встановлена ​​анаконда, ви можете просто зробити

pip install opencv-python

або

conda install -c https://conda.binstar.org/menpo opencv

якщо ви користуєтесь Linux, ви можете зробити:

pip install opencv-python

або

conda install opencv 

Link1 Link2

Для python3.5 + перевірте ці посилання: Link3 , Link4


7
для linux слід ввести 'pip install opencv-python' або 'sudo pip install opencv-python'
Oz Radiano

12
Ви неправильно зрозуміли команду. Це є sudo pip3 install opencv-python. Крім того, для Linux ви повинні запустити його як sudo pip3 install opencv-pythonдля python 3, так і sudo pip install opencv-pythonдля python 2. Судо на початку команди вам не потрібно, якщо ви використовуєте sudo -iforst або якимось чином виконуються як root.
Stiffy2000

2
Якщо під час встановлення зіткнулися з проблемами, переконайтеся, що у вас є найновіша версія pip, pip install --upgrade pipце була моя
вовна

4
pip install opencv-pythonпрацює для мене, і у мене немає Анаконда. Просто FYI для всіх, хто заходить сюди.
нахил


73

Це трапляється, коли python не може посилатися на вашу папку сайтів-пакунків за замовчуванням, де ви зберігали потрібні файли або бібліотеки python

Додайте ці рядки в код:

import sys

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

або перед запуском команди python в bash перейдіть до каталогу /usr/local/lib/python2.7/site-packages . Це обхід, якщо ви не хочете додавати будь-яку річ у код.


1
Ви працюєте над Windows? Цей шлях схожий на систему Linux.
FavorMylikes

1
питання стосувалося Raspbian OS, що є Linux.
Мідхун

2
Працював для мене на машині Mac
піщаний

він працює протягом одного сеансу, але якщо я вийду і повторно запускаю python, мені доведеться це зробити ще раз. як зберегти цю модифікацію?
Мостафа

Під час цього я отримую "ImportError: numpy.core.multiarray не вдалося імпортувати". Будь-які пропозиції?
hiquetj

45

Я вирішив свою проблему за допомогою наступної команди:

conda install opencv

6
Якщо ви встановили Anaconda Python, це команда, яку ви шукаєте.
kevinmicke

Я спробував це сьогодні в 64-бітному середовищі Windows 64 конда, і отримавPackageNotFound error
Майк Мудрий

2
Що працювалоconda install -c https://conda.binstar.org/menpo opencv
Майк Мудрий

40

Спробуйте додати наступний рядок у ~/.bashrc

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

2
Дякую, він працював для мене, коли використовувався: експортувати PYTHONPATH = / usr / local / python / 2.7: $ PYTHONPATH
Ikbel


21

Жодна з наведених відповідей не працювала для мене. Я зійшов з розуму, поки не знайшов це рішення нижче!

Просто запустіть:

sudo apt install python-opencv

14

Для Windows 10 та Python 3.6 це працювало для мене

pip install opencv-contrib-python


1
Також працював для мене на Linux (Ubuntu 16.04)
FlorianH

13

Я вирішив свою проблему за допомогою наступної команди:

pip install opencv-python


7

Я натрапив так само, як і цю проблему, яку я встановив cv2

pip install cv2

Однак, коли я імпортую модуль cv2, він не відображає жодного модуля з назвою помилка cv2.
Потім я шукав і знаходив cv2.pydфайли на своєму комп’ютері, а також копію і вставляю в каталог сайтів пакунків

C:\Python27\Lib\site-packages

потім я закрив і знову відкрив існуючу програму, вона працювала.

EDIT Я розповім, як cv2правильно встановити .

1. По-перше, встановіть numpy на свій комп’ютер

pip install numpy


2. Завантажте opencv з Інтернету (майже 266 mb).
Я завантажую 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.


Я не думаю, що cv2встановлений через pipнього пакет нічого спільного не має openCV, ти підтверджуєш?
epsilones

@Newben вибачте за несвоєчасну відповідь. в частині EDIT я розповідаю про те, як правильно встановити opencv. Я б хотів, щоб це допомогло вам, якщо ви не вирішили проблему
Harun ERGUL

5

Якщо ви хочете встановити opencv у віртуальному середовищі. Запустіть команду в терміналі для отримання списку віртуальних середовищ.

conda env list

або команда ноутбука юпітера є

!conda env list

Потім оновіть свою анаконду.

conda update anaconda-navigator
conda update navigator-updater

Встановіть opencv у вибраний шлях середовища.

conda install -c ['environment path'] opencv

Зошит Юйптер

!conda install --yes --prefix ['environment path'] opencv

4

ЯКЩО ВИ ЗБРОЮЄТЬСЯ З ЕКСПРАТУ, перейдіть через це

Ви отримуєте 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
>>> 

Мій крок допоможе лише у тому випадку, якщо ваш побудований зроблено правильно.


Тільки за допомогою @TheExorcist це вдалося вирішити
Родні Сальседо

Радий допомогти вам @RodneySalcedo, але це гріх під час посилання, ми вчиняємо несвідомо.
TheExorcist


0

Спробуйте це:

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


Чи можете ви поясніть, чому ці кроки? Як вони пов'язані з cv2?
Кішор Павар

0

Ще один спосіб, коли я отримав opencv для установки та роботи, був у візуальній спільноті Visual Studio 2017. Visual studio має приємне середовище пітона з налагодженням.
Тож у вікні vs python env я шукав і додав opencv. Просто думав, що поділюсь, тому що мені подобається пробувати речі різними способами та на різних комп’ютерах.

Середовища пітонів VisualStudio2017 з opencv


0

У мене була така ж проблема, я просто не міг зрозуміти це з opencv2 і opencv3, встановленими в / opt / opencv і opencv3 відповідно. Виявилось, що кривава анаконда, встановлена ​​opencv в моєму домашньому довіднику, була першою на шляху і збила opencv. Вилучив його і почав використовувати / opt / opencv3 / lib, як визначено в /etc/ld.so.conf.d/opencv.conf. Працював ідеально спочатку. У вас встановлена ​​анаконда? Можливо, це питання.

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