OpenCV = Import Error no module named cV2

  • Hallo,


    versuche seit Stundne erfolglos OPENCV zum laufen zu bekommen.

    Dachte ich hätte es bereits installiert, doch dann kommt immer die Fehlermeldung "Import Error no module named cV2".


    Soweit ich es verstanden habe, ist dies der Fall wenn OpenCV nicht korrekt installiert wurde.

    Ist das so korrekt?


    Befolge nun die Anleitung "https://jamesjdavis.medium.com…7-easy-steps-7b20a59ae6b2"


    Hier einmal die Befehle zusammengefasst:


    sudo apt-get update

    sudo apt-get upgrade

    sudo apt-get install build-essential cmake pkg-config

    sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev

    sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev

    sudo apt-get install libxvidcore-dev libx264-dev

    sudo apt-get install libgtk2.0-dev

    sudo apt-get install libatlas-base-dev gfortran

    sudo apt-get install python2.7-dev python3-dev


    cd ~/Downloads

    wget -O opencv.zip https://github.com/opencv/opencv/archive/master.zip

    unzip opencv.zip

    wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/master.zip



    wget https://bootstrap.pypa.io/pip/2.7/get-pip.py

    sudo python3 get-pip.py


    sudo pip install virtualenv virtualenvwrapper

    sudo rm -rf ~/.cache/pip


    echo -e “\n# virtualenv and virtualenvwrapper” >> ~/.profile

    echo “export WORKON_HOME=$HOME/.virtualenvs” >> ~/.profile

    echo “source /usr/local/bin/virtualenvwrapper.sh” >> ~/.profile




    source ~/.profile Kommando wird nicht gefunden





    mkvirtualenv cv -p python3 Kommando wird nicht gefunden



    Weiter komme ich nicht.

    Andere Anleitungen haben mir bisher auch nicht weitergeholfen.

    Was mache ich falsch und wie mache ich es richtig?


    Grüße und Danke

    • Official Post

    Auf den ersten Blick sehe ich nur eine fehlende 3.

    sudo pip3 install virtualenv virtualenvwrapper

    ABER ein "Kommando wird nicht gefunden" hilft ohne exakte Fehlermeldung nicht weiter.



    //Edit

    keepfear Er versuchts halt per virtualenv, aber den Grund dafür verstehe ich auch nicht.

  • Hallo,


    der Befehl schein funktioniert zu haben.

    Die Fehlermeldung mit Cv2 kommtleider trotzdem noch.



    : ~ $ pip3 install opencv-python

    Defaulting to user installation because normal site-packages is not writeable

    Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple

    Requirement already satisfied: opencv-python in ./.local/lib/python3.7/site-packages (4.5.3.56)

    Requirement already satisfied: numpy>=1.14.5 in /usr/lib/python3/dist-packages (from opencv-python) (1.16.2)


    :~ $ cd palt-tilt-cam

    :~/palt-tilt-cam $ python cam_pantiltcontrol.py

    Traceback (most recent call last):

    File "cam_pantiltcontrol.py", line 8, in <module>

    import cv2

    ImportError: No module named cv2



    Grüße

  • Danke für die Erinngerung mit der 3.



    :~/palt-tilt-cam $ python3 cam_pantiltcontrol.py

    Traceback (most recent call last):

    File "cam_pantiltcontrol.py", line 8, in <module>

    import cv2

    File "/home/pi/.local/lib/python3.7/site-packages/cv2/__init__.py", line 5, in <module>

    from .cv2 import *

    ImportError: libhdf5_serial.so.103: cannot open shared object file: No such file or directory


    Grüße

  • Hallo,


    wenn du 'opencv' mit pip3 installiert hast, dann bedeutet dass das du es für Python3 installiert hast. Das ist auch vollkommen richtig.

    Du musst 'cam_pantiltcontrol.py' jetzt aber auch mit Python3 starten:  python3 cam_pantiltcontrol.py


    Wenn, wie auf dem Pi, Python2 und Python3 installiert ist, dann startet 'python' Python2 und 'python3' Python3.

    Du solltest aber nur noch Python3 verwenden, Python2 wird schon längers nicht mehr durch die Entwickler unterstützt.


    Grüße

    Dennis


    hyle diesmal war ich zu langsam :sleepy:


    Edit2: Ich glaube bei deinen Installationsversuchen ist einiges durcheinander gekommen. Was hast du denn genau vor?

    ... ob's hinterm Horizont wirklich so weit runter geht oder ob die Welt vielleicht doch gar keine Scheibe ist?

    Edited once, last by Dennis89 ().

  • Hallo,


    weiterhin Fehler

    ImportError: libhdf5_serial.so.103: cannot open shared object file: No such file or directory



    Gruß

  • Danke hyle,


    mein Google nennt mir immer nur was chinesisches und das meine ich wirklich so.


    Ok, wieder ein Schritt weiter.


    python3 cam_pantiltcontrol.py

    RuntimeError: module compiled against API version 0xe but this version of numpy is 0xd

    Traceback (most recent call last):

    File "cam_pantiltcontrol.py", line 8, in <module>

    import cv2

    File "/home/pi/.local/lib/python3.7/site-packages/cv2/__init__.py", line 5, in <module>

    from .cv2 import *

    ImportError: numpy.core.multiarray failed to import



    Auch nach erneuter Installation durch pip3 install numpy ändert sich nichts.


    Gruß

  • Hallo und danke.

    Dann setze ich mich morgen nochmal von vorne dran.

    Hoffentlich habe ich gut genug dokumentiert ;)


    Schönen Abend noch

  • Hallo,


    SD-Karte mit image os neu beschrieben, updated und upgrades gezogen.


    Raspberry Version ist 2.7.16.


    OpenCV installiert.

    pip3 install opencv-contrib-python


    Dann von gestern gelernt:

    sudo apt update && sudo apt install python3-h5py



    Nun mein Wunsch:

    import cv2


    Übliche Fehlermeldung

    -bash: import: command not found


    Bin also immer noch nicht weiter.


  • Hallo,


    das ist jetzt nicht so ganz klar für mich.


    pip3 install opencv-contrib-python                        = OpenCV für python3 installiert

    sudo apt update && sudo apt install python3-h5py          = module für üython3 installiert   


    kommt nun import3 cv2 ???



    ich habe keine Ahnung mehr.

  • Nun mein Wunsch:


    import cv2

    Wo steht 'import cv2'? Schreibst du das in eine *.py-Datei oder schreibst du das direkt ins Terminal? Wenn zweiteres, dann lass das und nimm ersters.


    Grüße

    Dennis

    ... ob's hinterm Horizont wirklich so weit runter geht oder ob die Welt vielleicht doch gar keine Scheibe ist?

  • Hallo Dennis und danke.


    ich habe python3 im Terminal gestartet


    python3


    Python 3.7.3 (default, Jan 22 2021, 20:04:44)

    [GCC 8.3.0] on linux

    Type "help", "copyright", "credits" or "license" for more information.

    >>> import cv2

    RuntimeError: module compiled against API version 0xe but this version of numpy is 0xd

    Traceback (most recent call last):

    File "<stdin>", line 1, in <module>

    File "/home/pi/.local/lib/python3.7/site-packages/cv2/__init__.py", line 5, in <module>

    from .cv2 import *

    ImportError: numpy.core.multiarray failed to import


    Dies ist derselbe Fehler, der bereits gestern aufkam und wo ich abbrach.


    Numpy habe ich aber bereits installiert

    Code
    sudo apt install python3-dev python3-pip python3-numpy
  • Ok,


    durch


    pip3 install --upgrade numpy


    konnte ich numpy "reparieren".


    In python3 konnte der Befehl import cv2 auch ohne weitere Fehlermeldung ausgeführt werden.


    Hoffe, dass es jetzt klappt.