Das Modul cv2 kann bei Verwendung von OpenCV nicht gefunden werden

264

Ich habe OpenCV auf dem Occidentalis-Betriebssystem (eine Variante von Raspbian) auf einem Raspberry Pi installiert, wobei ich das hier gefundene Skript von jayrambhia verwendet habe . Es wurde Version 2.4.5 installiert.

Wenn ich es import cv2in einem Python-Programm versuche , wird folgende Meldung angezeigt:

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

Die Datei cv2.sowird in gespeichert/usr/local/lib/python2.7/site-packages/...

Es gibt auch Ordner in /usr/local/lib Namen python3.2 und python2.6, was ein Problem sein könnte, aber ich bin mir nicht sicher.

Ist das vielleicht ein Pfadfehler? Jede Hilfe wird geschätzt, ich bin neu in Linux.

user2971844
quelle
3
versuchen Sie: Python - Version. Wenn dort 3.2 steht, haben Sie einen Hinweis. versuchen Sie, die ausführbare Datei 2.7 zu finden, und nennen Sie das mit einem absoluten Pfad
berak
3
Für MacOS 10.12 und Python 3 hat der folgende einfache Befehl den Fehler behoben: pip install opencv-python Siehe: pypi.python.org/pypi/opencv-python
Tushar
Wenn Sie macOS Catalina verwenden, kann dies Ihnen möglicherweise helfen, stackoverflow.com/a/61578366/11559619
NicolasElPapu

Antworten:

345

Führen Sie zuerst diese Befehle in Terminal / CMD aus:

conda update anaconda-navigator  
conda update navigator-updater  

Dann wird das Problem für die folgende Anweisung behoben

Für Windows, wenn Sie Anaconda installiert haben, können Sie dies einfach tun

pip install opencv-python

oder

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

Wenn Sie unter Linux arbeiten, können Sie Folgendes tun:

pip install opencv-python

oder

conda install opencv 

Link1 Link2

Für Python3.5 + überprüfen Sie diese Links: Link3 , Link4

Rika
quelle
7
Für Linux sollten Sie "pip install opencv-python" oder "sudo pip install opencv-python"
eingeben
12
Du hast den Befehl falsch verstanden. Es ist sudo pip3 install opencv-python. Für Linux müssen Sie es auch wie sudo pip3 install opencv-pythonfür Python 3 und sudo pip install opencv-pythonfür Python 2 ausführen . Sie benötigen das sudo am Anfang des Befehls nicht, wenn Sie sudo -iforst ausführen oder auf irgendeine Weise als root ausgeführt werden.
Stiffy2000
2
Wenn Sie Probleme bei der Installation haben, stellen Sie sicher, dass Sie die neueste Version von pip haben. pip install --upgrade pipDies war mein
Problem
4
pip install opencv-pythonarbeitet für mich und ich habe keine Anaconda. Nur zu Ihrer Information für alle anderen, die hierher kommen.
Tilper
73

Dies geschieht, wenn Python nicht auf Ihren Standardordner für Site-Pakete verweisen kann, in dem Sie die erforderlichen Python-Dateien oder -Bibliotheken aufbewahrt haben

Fügen Sie diese Zeilen in den Code ein:

import sys

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

oder bevor Sie den Python-Befehl in bash ausführen, wechseln Sie in das Verzeichnis /usr/local/lib/python2.7/site-packages . Dies ist eine Problemumgehung, wenn Sie dem Code nichts hinzufügen möchten.

Midhun
quelle
1
Arbeiten Sie an Windows? Dieser Pfad sieht aus wie beim Linux-System.
FavorMylikes
1
Die Frage betraf das Raspbian-Betriebssystem Linux.
Midhun
2
Arbeitete für mich auf Mac-Maschine
sandig
Es funktioniert für eine Sitzung, aber wenn ich Python beende und neu starte, muss ich es erneut tun. Wie speichere ich diese Änderung?
Mostafa
Ich erhalte die Meldung "ImportError: numpy.core.multiarray konnte nicht importiert werden". Irgendwelche Vorschläge?
Hiquetj
45

Ich habe mein Problem mit dem folgenden Befehl gelöst:

conda install opencv
Tarun Kumar Sharma
quelle
6
Wenn Sie Anaconda Python installiert haben, ist dies der Befehl, nach dem Sie suchen.
Kevinmicke
Ich habe dies heute in einer Windows 64-Bit 2.7-Conda-Umgebung versucht und bekam einePackageNotFound error
Mike Wise
2
Was funktionierte warconda install -c https://conda.binstar.org/menpo opencv
Mike Wise
40

Versuchen Sie, die folgende Zeile hinzuzufügen ~/.bashrc

export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH
lanpa
quelle
2
Danke, es hat bei mir funktioniert, wenn es verwendet wurde: export PYTHONPATH = / usr / local / python / 2.7: $ PYTHONPATH
Ikbel
21

Keine der oben genannten Antworten hat bei mir funktioniert. Ich wurde verrückt, bis ich diese Lösung unten fand!

Einfach ausführen:

sudo apt install python-opencv
Fatmajk
quelle
14

Für Windows 10 und Python 3.6 hat dies bei mir funktioniert

pip install opencv-contrib-python

4m01
quelle
1
Arbeitete auch für mich unter Linux (Ubuntu 16.04)
FlorianH
13

Ich habe mein Problem mit dem folgenden Befehl gelöst:

pip install opencv-python
Jincy Mariam
quelle
9

Ich löse es durch Laufen:

pip3 install opencv-python
Tonysok
quelle
7

Ich bin auf dasselbe Problem gestoßen, von dem ich cv2 installiert habe

pip install cv2

Wenn ich jedoch ein cv2-Modul importiere, wird kein Modul mit dem Namen cv2 error angezeigt.
Dann habe ich cv2.pydDateien auf meinem Computer gesucht und gefunden und sie kopiert und in das Site-Packages-Verzeichnis eingefügt

C:\Python27\Lib\site-packages

dann habe ich bestehende anwendung geschlossen und wieder geöffnet, es hat funktioniert.

BEARBEITEN Ich werde sagen, wie man cv2richtig installiert .

1. Installieren Sie zuerst numpy auf Ihrem Computer von

pip install numpy


2. Laden Sie opencv aus dem Internet herunter (fast 266 MB).
Ich lade opencv-2.4.12.exefür Python 2.7 herunter . Installieren Sie dann diese opencv-2.4.12.exe-Datei.
Ich habe C:\Users\harun\Downloadsin diesen Ordner extrahiert .
Suchen Sie nach der Installation cv2.pyin den Ordnern.
Für mich

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

in diesem Ordner nehmen Sie die cv2.pydund kopieren Sie es in die

C:\Python27\Lib\site-packages

Jetzt können cv2Sie Python-Skripte verwenden.

Harun ERGUL
quelle
Ich glaube nicht, dass das über cv2installierte Paket pipetwas damit zu tun hat openCV, bestätigen Sie?
Epsilones
@Newben Entschuldigung für die späte Antwort. im EDIT-Teil spreche ich darüber, wie man opencv richtig installiert. Ich wünschte, es wird Ihnen helfen, wenn Sie das Problem nicht gelöst haben
Harun ERGUL
5

Wenn Sie opencv in einer virtuellen Umgebung installieren möchten. Führen Sie den Befehl im Terminal aus, um eine Liste der virtuellen Umgebungen abzurufen.

conda env list

oder Jupiter Notebook Befehl ist

!conda env list

Dann aktualisieren Sie Ihre Anakonda.

conda update anaconda-navigator
conda update navigator-updater

Installieren Sie opencv in Ihrem ausgewählten Umgebungspfad.

conda install -c ['environment path'] opencv

Juypter-Notizbuch

!conda install --yes --prefix ['environment path'] opencv
Shiva Manhar
quelle
4

WENN SIE AUS SCRATCH BAUEN, GEHEN SIE DURCH

Du verstehst No module named cv2.cv. Sohn, du hast alles richtig gemacht, da du sudo make installkeine Fehler gemacht hast .

Schauen Sie sich jedoch diesen Schritt an

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

DER SEHR WICHTIGE SCHRITT VON ALLEN DIESEN IST, ES ZU VERBINDEN.

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

In dem Moment, in dem Sie sich für eine weise Verknüpfung oder mit brutaler Gewalt entscheiden, suchen Sie einfach die Datei cv2.so, ob diese vorhanden ist oder nicht

Hier werfe ich meine Ausgabe.

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

Mein Schritt wird nur helfen, wenn Ihr Bau richtig gemacht wird.

Der Exorzist
quelle
Nur mit Hilfe von @TheExorcist konnte dies gelöst werden
Rodney Salcedo
Ich bin froh, Ihnen bei RodneySalcedo zu helfen, aber es ist Sünde beim Verknüpfen, wir verpflichten uns unbewusst.
TheExorcist
2

Ich löse dies durch Ausführen von Code pip install opencv_contrib_python

Schnee Albert
quelle
0

Probieren Sie es aus:

sudo ldconfig

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

und fügen Sie diese folgende Zeile in das opencv.confFenster nicht im Befehl ein

/usr/local/lib

Dann:

sudo ldconfig

sudo nano /etc/bash.bashrc

und fügen Sie diese beiden Zeilen in das bash.bashrcFenster nicht im Befehlsfenster ein

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

Starten Sie endlich Ihren Pi neu sudo reboot now

und versuche import cv2

Tes3awy
quelle
Können Sie bitte erklären, warum diese Schritte? Wie hängen sie mit cv2 zusammen?
Kishor Pawar
0

Eine andere Möglichkeit, OpenCV zu installieren und zu arbeiten, war die Visual Studio 2017-Community. Visual Studio hat eine schöne Python-Umgebung mit Debugging.
Also habe ich im vs python env-Fenster opencv gesucht und hinzugefügt. Ich dachte nur, ich würde teilen, weil ich Dinge gerne auf verschiedene Arten und auf verschiedenen Computern ausprobieren möchte.

VisualStudio2017-Python-Umgebungen mit opencv

dcarl661
quelle
0

Ich hatte das gleiche Problem, konnte es aber nicht herausfinden, wenn opencv2 und opencv3 in / opt / opencv bzw. opencv3 installiert waren. Es stellte sich heraus, dass die blutige Anaconda-Installation von opencv in meinem Home-Verzeichnis zuerst auf dem Weg war und opencv verstümmelte. Entfernte es und begann mit der Verwendung von / opt / opencv3 / lib, wie in /etc/ld.so.conf.d/opencv.conf definiert. Hat auf Anhieb perfekt funktioniert. Haben Sie Anaconda installiert? Könnte das Problem sein.

Eamonn Kenny
quelle