Installieren von OpenCV für Python unter Ubuntu, Abrufen von ImportError: Kein Modul mit dem Namen cv2.cv.

87

Ich habe ein Ubuntu 14.04-System, auf dem ich OpenCV installieren und mit Python 2.x verwenden möchte.

Ich habe OpenCV anhand der folgenden Anweisungen installiert: https://help.ubuntu.com/community/OpenCV

Die Installation schien ordnungsgemäß zu laufen, keine Fehler, das Skript endete mit der Ausgabe

OpenCV 2.4.9 ready to be used

Wenn ich versuche, das Beispiel-Python-Skript auszuführen, wird Folgendes angezeigt:

$ python opencv.py
Traceback (most recent call last):
  File "opencv.py", line 1, in <module>
    from cv2.cv import *
ImportError: No module named cv2.cv

Ich vermute, ich weiß warum, ich weiß nur nicht, wie ich es beheben soll. OpenCV wurde in dem aktuellen Verzeichnis installiert, in dem ich mich befand, als ich das Installationsskript ausführte. Es ist ein Unterverzeichnis meines Basisordners.

Andere, die diesen Importfehler nach der Installation erhalten, scheinen ein Pfadproblem zu haben und haben Glück, dies ihrem Code hinzuzufügen:

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

oder aktualisieren Sie ihren PYTHONPATH mit demselben Verzeichnis. Ich habe versucht, diesen Code hinzuzufügen, es macht keinen Unterschied. Ich sehe keine Dateien im Verzeichnis "site-packages". Sollte ich die Installation in diesem Verzeichnis durchgeführt haben? Ich stelle mir vor, die Installationsanleitung hätte das klargestellt. Ich vermute, dass mein Problem damit zusammenhängt, dass Python die OpenCV-Installation nicht findet, bin mir aber nicht sicher, wie ich vorgehen soll.

Bitte helfen Sie mir, eine benutzerfreundliche Installation von OpenCV so einfach wie möglich zu erhalten.

Robm
quelle
1
möglich Duplikat von OpenCV - finden kann nicht Modul cv2
krock
@krock Ich denke nicht, dass dies ein Trottel davon ist. Ich habe die Datei cv2.so nicht in meinem Site-Packages-Verzeichnis wie dieser Benutzer. Außerdem habe ich die beiden Lösungen erwähnt, die in diesem Beitrag angegeben sind, und keine hat hier für mich funktioniert.
Robm
1
aber du kannst cv2 importieren? Das alte cv (oder cv2.cv) Modul wird in den kommenden opencv Versionen nicht verfügbar sein
berak
@berak Nein, ich kann auch cv2 nicht importieren.
Robm

Antworten:

110

Ich denke, Sie haben das python-opencvPaket nicht.

Ich hatte genau das gleiche Problem und

sudo apt-get install python-opencv

löste das Problem für mich.

Sie können opencv über den folgenden Link installieren: https://www.learnopencv.com/install-opencv3-on-ubuntu/ Es funktioniert für mich. Die Installation von apt-get enthält nicht viele Pakete von opencv

Ozguronur
quelle
Warum sollte sich Ihre Antwort von den anderen unterscheiden?
Michele d'Amico
Das OP hat das Paket. Andernfalls würde der ImportError "kein Paket mit dem Namen cv2" sagen.
Andy Hayden
Gleiches Problem, Installation gemäß den Anweisungen hier versucht: help.ubuntu.com/community/OpenCV Kein Glück. Diese Lösung hat bei mir funktioniert. Vielen Dank!
Jschabs
2
Das war so einfach! Nach der Qual über so viele andere unglaublich komplexe "Lösungen", von denen keine funktionierte, war dies der Trick. Vielen Dank! :-)
Rafael_Espericueta
sudo dnf installiere opencv-python für fedora.
Dinuka Thilanga
30

Ich hatte auch dieses Problem. Versuchte verschiedene Dinge. Aber endlich

conda install opencv

arbeitete für mich.

ashensw
quelle
1
Dies funktioniert unter der Annahme, dass Ihre Python Anaconda ist.
ComputerScientist
4
Hinweis conda install opencvfunktioniert nicht für Windows 64 Bit.
shahar_m
17

Wenn Sie so einfach wie möglich möchten, installieren Sie aus dem Repository:

sudo apt-get install python-opencv libopencv-dev python-numpy python-dev
Nilsmagnus
quelle
1
Ich musste das opencv-devTeil ausschneiden , aber ansonsten funktionierte diese Antwort gut für mich.
Brian Z
Beste Antwort hier!
Giacomo1968
11

Verwenden Sie pip:

https://pypi.python.org/pypi/pip

$ pip install SomePackage
  [...]
  Successfully installed SomePackage

Und wenn Sie PYTHONPATH mit sys, PYTHONPATH, einen Pfad hinzufügen, wird dieser beim Schließen Ihrer Python-Shell immer auf die Standardwerte neu gestartet. Überprüfen Sie diesen Thread:

Fügen Sie PYTHONPATH dauerhaft ein Verzeichnis hinzu

Fügen Sie zuerst openCV zu Ihrem Pfad hinzu (Kurzanleitung):

https://help.ubuntu.com/community/OpenCV

Danach installieren Sie die Nicht-Python-Pakete pyopencv hängt ab von:

sudo apt-get build-dep python-opencv

Verwenden Sie zum Schluss pip:

pip install pyopencv

Sie können dieses Tutorial auch überprüfen, um openCV in Ubuntu 14.04 LTS zu installieren

http://www.samontab.com/web/2014/06/installing-opencv-2-4-9-in-ubuntu-14-04-lts/

Juan david
quelle
4
Welches Pip-Paket soll ich für OpenCV verwenden? Unter pypi.python.org/pypi sind viele aufgeführt , wobei nicht klar ist, welche offiziell und / oder aktuell sind.
Robm
Ich werde meine Antwort mit einer kurzen Anleitung bearbeiten, bitte markieren Sie sie als richtig, wenn sie nützlich war
Juan David
2
Das ist nicht richtig. Der Grund, warum dieser Fehler angezeigt wird, ist, dass das cv-Submodul in neueren Versionen nicht mehr vorhanden ist.
Andy Hayden
Ich spreche nicht über den Grund des Fehlers. Ich gebe nur eine mögliche Lösung. Es funktioniert für mich, könnte vielleicht für jemand anderen nützlich sein @AndyHayden
Juan David
FEHLER: Es konnte keine Version gefunden werden, die die Anforderung pyopencv erfüllt (aus den Versionen: 2.0.wr1.0.1-Demo, 2.0.wr1.0.1, 2.0.wr1.1.0, 2.1.0.wr1.0.0, 2.1.0.wr1). 0.1, 2.1.0.wr1.0.2, 2.1.0.wr1.1.0, 2.1.0.wr1.2.0) FEHLER: Keine passende Verteilung für pyopencv gefunden
Stepan
10

Versuchen Sie, conda install -c conda-forge opencvwenn Sie Anakonda verwenden, es funktioniert!

xxx222
quelle
8

Finden Sie heraus, wo sich das cv2.sobefindet, /usr/local/lib/python2.7/dist-packagesund fügen Sie dies zu Ihrem hinzu, ~/.bashrcindem Sie Folgendes tun:

sudo gedit ~/.bashrc

und hinzufügen

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

In der letzten Zeile

Und dann denken Sie daran, ein anderes Terminal zu öffnen. Dies kann funktionieren, und ich habe mein Problem gelöst. Hoffe es kann dir helfen.

王 蒙蒙
quelle
5

Überprüfen Sie, ob cv2.so kompiliert wurde, und platzieren Sie es in: /usr/local/lib/python2.7/site-packages. Exportieren Sie dann diesen Pfad wie folgt

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

Gleich wie in der Antwort hier

DeDenker
quelle
4

Meine Umgebung:

  • Ubuntu 15.10
  • Python 3.5

Da keine der vorherigen Antworten für mich funktioniert hat, habe ich OpenCV 3.0 von http://opencv.org/downloads.html heruntergeladen und das Installationshandbuch befolgt . Ich habe den folgenden cmakeBefehl verwendet:

$ ~/Programs/opencv-3.0.0$ cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D PYTHON3_EXECUTABLE=/usr/bin/python3.5 -D PYTHON_INCLUDE_DIR=/usr/include/python3.5 -D PYTHON_INCLUDE_DIR2=/usr/include/x86_64-linux-gnu/python3.5m -D PYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.5m.so -D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include/ -D PYTHON3_PACKAGES_PATH=/usr/lib/python3/dist-packages ..

Jeder Schritt des Tutorials ist wichtig. Vergessen Sie besonders nicht anzurufen sudo make install.

Martin Vseticka
quelle
3

Ich habe hier im Handbuch eine Lösung gefunden:

http://www.samontab.com/web/2014/06/installing-opencv-2-4-9-in-ubuntu-14-04-lts/

Ich habe auf das Kompilieren und Installieren aus dem Quellcode zurückgegriffen. Der Prozess verlief sehr reibungslos, hätte ich gewusst, dass ich damit begonnen hätte, anstatt zu versuchen, einen einfacheren Weg zur Installation zu finden. Hoffentlich sind diese Informationen für jemanden hilfreich.

Robm
quelle
3

Erstellen Sie einen symbolischen Link zu OpenCV. Z.B:

cd ~/.virtualenvs/cv/lib/python2.7/site-packages/
ln -s /usr/local/lib/python2.7/dist-packages/cv2.so cv2.so
ln -s /usr/local/lib/python2.7/dist-packages/cv.py cv.py
user6033883
quelle
2

Wenn Sie wirklich sicher sind, dass Sie cv2 installiert haben, es aber keinen Modulfehler gibt. Dafür gibt es eine Lösung. Wahrscheinlich haben Sie eine cv2.soDatei in Ihrem Verzeichnis

/usr/local/lib/python2.7/site-packages/cv2.so

Verschieben Sie diese cv2.soDatei nach

/usr/lib/python2.7/site-packages

Kopieren Sie die Datei in das Verzeichnis site-packages

Harun ERGUL
quelle
2

Versuchen Sie es mit: from cv2 import cv

Für mich geht das.

Litbak geschüttelt
quelle
2

Es ist ein Alptraum für die vollständige Installation, aber ich gebe noch eine Hoffnung, dass Sie vermeiden können, opencv aus dem Quellcode zu erstellen:

pip installiere opencv-contrib-python

Stepan Yakovenko
quelle
1

Wenn Sie die Pycharm-Plattform verwenden, gehen Sie ganz einfach in die Ansicht => Tool Windows ==> Python-Konsole. Danach sehen Sie unten die Konsole mit [1]: Geben Sie dies ein!pip install opencv-python

Zaki Stu
quelle
1

Ich habe alle anderen Optionen hier ausprobiert, konnte aber import cv2unter Ubuntu nicht mit Anaconda arbeiten. Dies ist das einzige, was geholfen hat:

pip install opencv-python

Crypdick
quelle
Danke. es funktioniert: pip3 installiere opencv-python. ////// Testen: python3 / import numpy / import cv2
Soner PALANCI
1

Sie können nach dem offiziellen OpenCV-Tutorial für die Quelle erstellen . Der entscheidende Teil ist es, die festlegen PYTHON3_EXECUTABLE, PYTHON_LIBRARY, PYTHON3_PACKAGES_PATHund PYTHON3_NUMPY_INCLUDE_DIRSParameter für python3.6. Hier sind alle Schritte:

  1. Klonen Sie das Repo

    git clone https://github.com/opencv/opencv.git
  2. buildVerzeichnis erstellen

    cd ~/opencv
    mkdir build
    cd build
  3. Konfigurieren

    cmake -D CMAKE_BUILD_TYPE=RELEASE \
          -D CMAKE_INSTALL_PREFIX=/usr/local .. \
          -D PYTHON_INCLUDE_DIR=/usr/include/python3.6 \
          -D PYTHON_INCLUDE_DIR2=/usr/include/x86_64-linux-gnu/python3.6m \
          -D BUILD_NEW_PYTHON_SUPPORT=ON \
          -D BUILD_opencv_python3=ON \
          -D HAVE_opencv_python3=ON \
          -D INSTALL_PYTHON_EXAMPLES=ON \
          -D PYTHON3_EXECUTABLE=/usr/bin/python3.6 \
          -D PYTHON_DEFAULT_EXECUTABLE=/usr/bin/python3.6 \
          -D PYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.6m.so \
          -D PYTHON3_PACKAGES_PATH=/usr/lib/python3/dist-packages .. \
          -D PYTHON3_NUMPY_INCLUDE_DIRS=/home/user/.local/lib/python3.6/site-packages/numpy/core/include/
  4. Bauen

    make -j8
  5. Installieren Sie Bibliotheken

    sudo make install
  6. Prüfung

    python3
    import cv2

Wenn Sie nicht die Fehlermeldung "Kein Modul mit dem Namen cv2" erhalten, war die Installation erfolgreich.

Hinweis: Wenn Sie den Pfad numpyfür den PYTHON3_NUMPY_INCLUDE_DIRSParameter nicht kennen , können Sie ihn durch Ausführen import numpyund dann numpy.__file__in einer Python3-Shell finden.

tsveti_iko
quelle
0

Dies schien für mich unter Max OSX zu funktionieren: https://anaconda.org/menpo/opencv3

conda install -c menpo opencv3=3.1.0

Ich habe bestätigt, dass Sie cv2mit Python2.7 und Python3 in Python importieren können

Dan Williams
quelle
0

Für mich war dieses Problem auf die Tatsache zurückzuführen, dass ich die Datei cv2.so im ~/.virtualenvs/cv/lib/python3.5/site-packagesOrdner nicht ordnungsgemäß sym-verknüpft hatte (der Name Ihrer virualenv lautet möglicherweise nicht "cv", Ihre Python-Version lautet möglicherweise nicht 3.5 - adjust entsprechend).

Wenn Sie zu dem ~/.virtualenvs/cv/lib/python3.5/site-packagesOrdner und ls gehen, sollte die Datei cv2.so hellblau (Ubuntu 16.04) angezeigt werden, um anzuzeigen, dass sie verknüpft ist. Sie können den Speicherort des Links überprüfen, indem Sie Folgendes eingeben: readlink cv2.so

Wenn cv2.so rot angezeigt wird (wie bei mir), geben Sie die Datei ein und geben Sie Folgendes ein: (für meine Installation von Python 3.5)

ln -s /usr/local/lib/python3.5/dist-packages/cv2.cpython-35m-x86_64-linux-gnu.so cv2.so

ODER (wenn Sie Python 3.6 haben)

ln -s /usr/local/lib/python3.6/dist-packages/cv2.cpython-36m-x86_64-linux-gnu.so cv2.so

Wenn Sie in Python 2.6 oder Python 2.7 arbeiten, geben Sie stattdessen Folgendes ein:

ln -s /usr/local/lib/python2.7/dist-packages/cv2.so cv2.so

Wenn die Dateien cv2.so oder cv2.cpython-36m-x86_64-linux-gnu.so an Ihrem /usr/local/lib/python***/dist-packagesSpeicherort nicht vorhanden sind , überprüfen Sie, ob sie sich in einem /usr/local/lib/python***/sites-packagesOrdner befinden. Wenn ja, passen Sie den Pfad entsprechend an. Wenn nicht, ist bei Ihrer opencv-Installation ein Fehler aufgetreten.

Diese Antwort wurde von Informationen hier inspiriert: https://www.pyimagesearch.com/2016/10/24/ubuntu-16-04-how-to-install-opencv/

gtcoder
quelle
0

Für diejenigen, die versuchen, 3.1.0 zu verwenden, aber nach der Installation von Python sagt "cv2 Modul nicht gefunden".

Sie haben wahrscheinlich Python, aber nicht Python-Dev.

sudo apt-get install python-dev

Dann installieren Sie 3.1.0 neu und es wird funktionieren.

Mark Silliman
quelle
0

Versuchen Sie es mit sudo apt und installieren Sie python3-opencv

Es wird das neueste Paket von Open CV installiert.

Oder Sie können versuchen, das opencv-Paket neu zu installieren. Möglicherweise wurde es während der Installation beschädigt.

Pradyumn
quelle