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.


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


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.


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

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

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

14

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

pip install opencv-contrib-python


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

9

Ich löse es durch Laufen:

pip3 install opencv-python

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.


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

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.


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


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


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


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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.