Nie można znaleźć modułu cv2 podczas korzystania z OpenCV


264

Zainstalowałem OpenCV w systemie operacyjnym Occidentalis (wariant Raspbian) na Raspberry Pi, korzystając ze skryptu jayrambhia znalezionego tutaj . Zainstalowała wersję 2.4.5.

Kiedy próbuję import cv2w programie Python, pojawia się następujący komunikat:

pi@raspberrypi~$ python cam.py
Traceback (most recent call last)
File "cam.py", line 1, in <module>
    import cv2
ImportError: No module named cv2

Plik cv2.sojest przechowywany w/usr/local/lib/python2.7/site-packages/...

Istnieją również foldery w /usr/local/libnazwach python3.2 i python2.6, co może być problemem, ale nie jestem pewien.

Czy to może błąd ścieżki? Każda pomoc jest doceniana, jestem nowy w Linuksie.


3
try: python --version. jeśli mówi 3.2, masz podpowiedź. spróbuj zlokalizować plik wykonywalny 2.7 i nazwij to ścieżką bezwzględną
berak

3
W przypadku systemu macOS 10.12 i python 3 poniższa prosta komenda działała w celu rozwiązania błędu: pip install opencv-python Patrz: pypi.python.org/pypi/opencv-python
Tushar

Jeśli używasz macOS Catalina, może to ci pomóc stackoverflow.com/a/61578366/11559619
NicolasElPapu

Odpowiedzi:


346

Najpierw uruchom następujące polecenia w Terminalu / CMD:

conda update anaconda-navigator  
conda update navigator-updater  

problem dotyczący poniższej instrukcji zostanie rozwiązany

w przypadku systemu Windows, jeśli masz zainstalowaną anakondę, możesz po prostu to zrobić

pip install opencv-python

lub

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

jeśli jesteś na Linuksie, możesz:

pip install opencv-python

lub

conda install opencv 

Link1 Link2

W przypadku python3.5 + sprawdź te linki: Link3 , Link4


7
w systemie Linux należy wpisać „pip install opencv-python” lub „sudo pip install opencv-python”
Oz Radiano 15.04.17

12
Błędnie wykonałeś polecenie. Jest sudo pip3 install opencv-python. Ponadto w przypadku systemu Linux należy go uruchomić tak jak w sudo pip3 install opencv-pythonprzypadku Pythona 3 i sudo pip install opencv-pythonPythona 2. Nie potrzebujesz sudo na początku polecenia, jeśli używasz sudo -iforst lub w jakiś sposób działasz jako root.
Stiffy2000

2
Jeśli napotykasz problemy podczas instalacji, upewnij się, że masz najnowszą wersję pipa, pip install --upgrade pipto było moje wattle
mrk

4
pip install opencv-pythonpracuje dla mnie i nie mam Anacondy. Tylko do Twojej wiadomości dla każdego, kto tu przyjdzie.
tilper


73

Dzieje się tak, gdy Python nie może odwoływać się do domyślnego folderu pakietów stron, w którym przechowywane są wymagane pliki lub biblioteki Pythona

Dodaj następujące wiersze w kodzie:

import sys

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

lub przed uruchomieniem komendy python w bash przejdź do katalogu /usr/local/lib/python2.7/site-packages . Jest to obejście, jeśli nie chcesz dodawać żadnych elementów do kodu.


1
Pracujesz w systemie Windows? Ta ścieżka wygląda jak w systemie Linux.
FavorMylikes

1
pytanie dotyczyło systemu operacyjnego Raspbian, którym jest Linux.
Midhun,

2
Pracowałem dla mnie na komputerze Mac
piaszczysty

działa dla jednej sesji, ale jeśli wyjdę i ponownie uruchomię Pythona, muszę to zrobić ponownie. jak zapisać tę modyfikację?
Mostafa,

Pojawia się komunikat „ImportError: numpy.core.multiarray nie udało się zaimportować”, gdy to robię. Jakieś sugestie?
hiquetj

45

Rozwiązałem problem za pomocą następującego polecenia:

conda install opencv

6
Jeśli masz zainstalowany Anaconda Python, jest to polecenie, którego szukasz.
kevinmicke

Próbowałem tego dzisiaj w 64-bitowym środowisku conda systemu Windows w wersji 2.7 i dostałemPackageNotFound error
Mike Wise,

2
Co zadziałało conda install -c https://conda.binstar.org/menpo opencv
Mike Wise,

40

Spróbuj dodać następujący wiersz ~/.bashrc

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

2
Dzięki, zadziałało dla mnie, gdy zostało użyte: eksport PYTHONPATH = / usr / local / python / 2.7: $ PYTHONPATH
Ikbel


21

Żadna z powyższych odpowiedzi nie działała dla mnie. Szaleję, dopóki nie znalazłem tego rozwiązania poniżej!

Po prostu uruchom:

sudo apt install python-opencv

14

W przypadku Windows 10 i Python 3.6 to zadziałało dla mnie

pip install opencv-contrib-python


1
Pracowałem również dla Linuksa (Ubuntu 16.04)
FlorianH

13

Rozwiązałem problem za pomocą następującego polecenia:

pip install opencv-python


7

Natknąłem się na ten sam problem, z którym zainstalowałem CV2

pip install cv2

Jednak podczas importowania modułu CV2 nie wyświetlał żadnego modułu o nazwie błąd CV2.
Następnie przeszukałem i znajdowałem cv2.pydpliki na moim komputerze oraz kopiowałem i wklejałem do katalogu pakietów stron

C:\Python27\Lib\site-packages

potem zamknąłem i ponownie otworzyłem istniejącą aplikację, zadziałało.

EDYCJA Powiem jak cv2poprawnie zainstalować .

1. Najpierw zainstaluj numpy na swoim komputerze przez

pip install numpy


2. Pobierz opencv z Internetu (prawie 266 MB).
Pobrać opencv-2.4.12.exedla Pythona 2.7. Następnie zainstaluj ten plik opencv-2.4.12.exe.
Rozpakowałem C:\Users\harun\Downloadsdo tego folderu.
Po instalacji przejdź cv2.pydo folderów.
Dla mnie

C:\Users\harun\Downloads\opencv\build\python\2.7\x64

w tym folderze weź cv2.pydi skopiuj go do

C:\Python27\Lib\site-packages

teraz możesz używać cv2w sobie skryptów Pythona.


Nie sądzę, żeby cv2zainstalowany pakiet pipmiał coś wspólnego openCV, potwierdzasz?
epsilones

@Newben przepraszamy za spóźnioną odpowiedź. w części EDIT mówię o tym, jak poprawnie zainstalować opencv. szkoda, że ​​ci nie pomoże, jeśli nie rozwiązałeś problemu
Harun ERGUL

5

Jeśli chcesz zainstalować opencv w środowisku wirtualnym. Uruchom komendę w terminalu, aby uzyskać listę środowiska wirtualnego.

conda env list

lub polecenie jupyter notebooka to

!conda env list

Następnie zaktualizuj swoją anakondę.

conda update anaconda-navigator
conda update navigator-updater

Zainstaluj opencv w wybranej ścieżce środowiska.

conda install -c ['environment path'] opencv

Notatnik Juypter

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

4

JEŚLI BUDUJESZ Z ZADRAŻENIA, PRZEJDŹ PRZEZ TO

Dostajesz No module named cv2.cv. Synu, wszystko zrobiłeś dobrze, bo sudo make installnie popełniłeś błędów.

Jednak spójrz na ten krok

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

BARDZO WAŻNY KROK WSZYSTKICH JEST PODŁĄCZENIEM.

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

W chwili, gdy wybierzesz mądre połączenie lub brutalną siłą, po prostu znajdź plik cv2.so, jeśli istnieje, czy nie

Tutaj rzucam moją moc.

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

Mój krok pomoże tylko wtedy, gdy zbudujesz prawidłowo.


Tylko przy pomocy @TheExorcist może to rozwiązać
Rodney Salcedo

Cieszę się, że mogę Ci pomóc @RodneySalcedo, ale to grzech podczas łączenia, popełniamy nieświadomie.
Egzorcysta


0

Wypróbuj to:

sudo ldconfig

sudo nano /etc/ld.so.conf.d/opencv.conf

i dodaj następujący wiersz w opencv.confnie w oknie poleceń

/usr/local/lib

Następnie:

sudo ldconfig

sudo nano /etc/bash.bashrc

i dodaj te dwa wiersze w bash.bashrcoknie poleceń innym niż

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig       
export PKG_CONFIG_PATH

w końcu zrestartuj swoje Pi sudo reboot now

i próbuj import cv2


Czy możesz wyjaśnić, dlaczego te kroki? Jak są one powiązane z CV2?
Kishor Pawar

0

Innym sposobem na zainstalowanie opencv i pracę było w społeczności visual studio 2017. Visual Studio ma ładne środowisko Pythona z debugowaniem.
Więc z okna env vs python przeszukałem i dodałem opencv. Pomyślałem, że podzielę się, ponieważ lubię próbować różnych rzeczy na różnych komputerach.

Środowiska Python VisualStudio2017 z opencv


0

Miałem ten sam problem, po prostu nie mogłem go rozwiązać z OpenCv2 i OpenCv3 zainstalowanymi odpowiednio w / Opt / OpenCv i OpenCv3. Okazało się, że krwawa instalacja anaconda opencv w moim katalogu domowym była pierwsza na ścieżce i zniekształcona opencv. Usunąłem go i zacząłem używać / opt / opencv3 / lib zgodnie z definicją w /etc/ld.so.conf.d/opencv.conf. Działa idealnie od samego początku. Czy masz zainstalowaną anakondę? Może to być problem.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.