Installer OpenCV pour Python sur Ubuntu, obtenir ImportError: aucun module nommé cv2.cv

87

J'ai un système Ubuntu 14.04, sur lequel je souhaite installer OpenCV et l'utiliser avec Python 2.x.

J'ai installé OpenCV en suivant les instructions ici: https://help.ubuntu.com/community/OpenCV

L'installation semblait fonctionner correctement, aucune erreur, le script s'est terminé avec une sortie

OpenCV 2.4.9 ready to be used

Lorsque j'essaye d'exécuter l'exemple de script Python, j'obtiens ce qui suit:

$ 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

Je suppose que je sais pourquoi, je ne sais tout simplement pas comment y remédier. OpenCV installé dans le répertoire actuel dans lequel j'étais lorsque j'ai exécuté le script d'installation, c'est un sous-répertoire de mon dossier personnel.

Les autres qui obtiennent cette erreur d'importation après l'installation semblent avoir un problème de chemin et ont de la chance d'ajouter ceci à leur code:

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

ou mettre à jour leur PYTHONPATH avec ce même répertoire. J'ai essayé d'ajouter ce code, cela ne fait aucune différence. Je ne vois aucun fichier dans le répertoire "site-packages". Dois-je avoir effectué l'installation dans ce répertoire? J'imagine que les instructions d'installation l'auraient précisé. Je soupçonne que mon problème est lié au fait que Python ne trouve pas l'installation d'OpenCV, mais je ne sais pas comment procéder.

Veuillez m'aider à obtenir une installation utilisable d'OpenCV aussi simplement que possible.

robm
la source
1
duplication possible d' OpenCV - impossible de trouver le module cv2
krock
@krock Je ne pense pas que ce soit une dupe de ça. Je n'ai pas le fichier cv2.so présent dans mon répertoire site-packages comme cet utilisateur l'avait fait. En outre, j'ai mentionné les deux solutions qui sont données dans ce post, et aucune n'a fonctionné pour moi ici.
robm
1
mais vous pouvez importer cv2? l'ancien module cv (ou cv2.cv) ne sera pas là dans les prochaines versions d'
opencv
@berak Non, je ne peux pas non plus importer cv2.
robm

Réponses:

110

Je pense que tu n'as pas le python-opencv paquet.

J'ai eu exactement le même problème et

sudo apt-get install python-opencv

résolu le problème pour moi.

vous pouvez installer opencv à partir du lien suivant https://www.learnopencv.com/install-opencv3-on-ubuntu/ Cela fonctionne pour moi. apt-get install ne contient pas beaucoup de paquets d'opencv

ozguronur
la source
Pourquoi votre réponse devrait-elle être différente des autres?
Michele d'Amico
L'OP a le package. Sinon, ImportError dirait "aucun package nommé cv2".
Andy Hayden
Même problème, j'ai essayé d'installer selon les instructions ici: help.ubuntu.com/community/OpenCV Pas de chance. Cette solution a fonctionné pour moi. Merci!
jschabs
2
C'était si simple! Après avoir souffert de tant d'autres «solutions» incroyablement complexes, dont aucune n'a fonctionné, cela a fait l'affaire. Merci! :-)
Rafael_Espericueta
sudo dnf installe opencv-python pour fedora.
Dinuka Thilanga le
30

J'ai aussi eu ce problème. J'ai essayé différentes choses. Mais finalement

conda install opencv

travaillé pour moi.

ashensw
la source
1
Cela fonctionnera en supposant que votre python est Anaconda.
ComputerScientist
4
Remarque ne conda install opencvfonctionne pas pour Windows 64 bits.
shahar_m
17

Si vous voulez aussi simple que possible, installez à partir du référentiel:

sudo apt-get install python-opencv libopencv-dev python-numpy python-dev
nilsmagnus
la source
1
J'ai dû couper la opencv-devpartie, mais sinon, cette réponse a bien fonctionné pour moi.
Brian Z
Meilleure réponse ici!
Giacomo1968
11

Utilisez pip:

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

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

Et lorsque vous ajoutez un chemin vers PYTHONPATH avec sys, PYTHONPATH est toujours redémarré aux valeurs par défaut lorsque vous fermez votre shell Python. Vérifiez ce fil:

Ajouter définitivement un répertoire à PYTHONPATH

Ajoutez d'abord openCV à votre chemin (guide rapide):

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

après cela, installez les packages non-python pyopencv dépend de:

sudo apt-get build-dep python-opencv

enfin, utilisez pip:

pip install pyopencv

Vous pouvez également consulter ce tutoriel pour installer openCV dans ubuntu 14.04 LTS

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

Juan David
la source
4
Quel package pip dois-je utiliser pour OpenCV? Il y en a beaucoup répertoriés sur pypi.python.org/pypi , sans savoir lequel, le cas échéant, est officiel et / ou actuel.
robm
Je vais modifier ma réponse avec un petit guide, veuillez la marquer comme correcte si cela était utile
Juan David
2
Ce n'est pas correct. La raison pour laquelle cette erreur est affichée est que le sous-module cv n'est plus présent dans les versions récentes.
Andy Hayden
Je ne parle pas de la raison de l'erreur. Je donne juste une solution possible. Cela fonctionne pour moi, peut-être pourrait être utile pour quelqu'un d'autre @AndyHayden
Juan David
ERREUR: impossible de trouver une version qui satisfait à l'exigence pyopencv (à partir des versions: 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) ERREUR: Aucune distribution correspondante trouvée pour pyopencv
Stepan Yakovenko
10

Essayez conda install -c conda-forge opencvsi vous utilisez anaconda, cela fonctionne!

xxx222
la source
8

Trouvez où se cv2.sotrouve le, par exemple /usr/local/lib/python2.7/dist-packages, puis ajoutez-le dans votre ~/.bashrcen faisant:

sudo gedit ~/.bashrc

et ajouter

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

Dans la dernière ligne

Et puis n'oubliez pas d'ouvrir un autre terminal, cela peut être du travail, et j'ai résolu mon problème. Espérons que cela peut vous aider.

王 蒙蒙
la source
5

Vérifiez si cv2.so a compilé, doit être placé dans: /usr/local/lib/python2.7/site-packages Puis exportez ce chemin comme ceci

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

Identique à la réponse ici

DeDenker
la source
4

Mon environnement:

  • Ubuntu 15.10
  • Python 3.5

Comme aucune des réponses précédentes n'a fonctionné pour moi, j'ai téléchargé OpenCV 3.0 à partir de http://opencv.org/downloads.html et j'ai suivi le manuel d'installation . J'ai utilisé la cmakecommande suivante :

$ ~/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 ..

Chaque étape du didacticiel est importante. N'oubliez surtout pas d'appeler sudo make install.

Martin Vseticka
la source
3

Créez un lien symbolique vers OpenCV. Par exemple:

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
la source
2

Si vous êtes vraiment sûr d'avoir installé cv2 mais qu'il ne donne aucune erreur de module. Il existe une solution à cela. Vous avez probablement un cv2.sofichier dans votre répertoire

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

déplacer ce cv2.sofichier vers

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

copiez le fichier dans le répertoire site-packages

Harun ERGUL
la source
2

Essayez d'utiliser: from cv2 import cv

Ça marche pour moi.

secoué litbak
la source
2

C'est un cauchemar d'installation complet, mais je vais vous donner un autre espoir que vous pourrez éviter de construire opencv à partir des sources:

pip installer opencv-contrib-python

Stepan Yakovenko
la source
1

si vous utilisez la plate-forme pycharm c'est très simple aller dans view => tool windows ==> console python après cela vous verrez en bas la console avec [1]: tapez ceci!pip install opencv-python

Zaki Stu
la source
1

J'ai essayé toutes les autres options ici, mais je n'ai pas pu import cv2travailler avec Anaconda sur Ubuntu. C'est la seule chose qui a aidé:

pip install opencv-python

crypdick
la source
Merci. ça marche: pip3 installe opencv-python. ////// Test: python3 / import numpy / import cv2
Soner PALANCI
1

Vous pouvez construire pour la source en suivant le tutoriel officiel OpenCV . La partie cruciale est de définir les PYTHON3_EXECUTABLE, PYTHON_LIBRARY, PYTHON3_PACKAGES_PATHet les PYTHON3_NUMPY_INCLUDE_DIRSparamètres pour python3.6. Voici toutes les étapes:

  1. Cloner le repo

    git clone https://github.com/opencv/opencv.git
  2. Créer un buildrépertoire

    cd ~/opencv
    mkdir build
    cd build
  3. Configurer

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

    make -j8
  5. Installer des bibliothèques

    sudo make install
  6. Tester

    python3
    import cv2

Si vous n'obtenez pas l'erreur «Aucun module nommé cv2», l'installation a réussi.

Remarque: Si vous ne connaissez pas le chemin d'accès numpypour le PYTHON3_NUMPY_INCLUDE_DIRSparamètre, vous pouvez le trouver en exécutant import numpypuis numpy.__file__dans une coquille de python3.

tsveti_iko
la source
0

Cela a semblé fonctionner pour moi sur Max OSX: https://anaconda.org/menpo/opencv3

conda install -c menpo opencv3=3.1.0

J'ai confirmé que vous pouvez importer cv2en python en utilisant python2.7 et python3

Dan Williams
la source
0

Pour moi, ce problème était dû au fait que je n'avais pas correctement lié symétriquement le fichier cv2.so dans le~/.virtualenvs/cv/lib/python3.5/site-packages dossier (le nom de votre virualenv peut ne pas être "cv", votre version de python n'est peut-être pas 3.5 - ajustez en conséquence).

Si vous allez dans le ~/.virtualenvs/cv/lib/python3.5/site-packagesdossier et ls, le fichier cv2.so devrait apparaître en bleu clair (Ubuntu 16.04) indiquant qu'il est lié. Vous pouvez vérifier l'emplacement du lien en tapant: readlink cv2.so

Si cv2.so apparaît en rouge (comme le mien l'a fait), rm le fichier et tapez: (pour mon installation de python 3.5)

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

OU (si vous avez python 3.6)

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

Si vous travaillez en python 2.6 ou python 2.7, vous tapez à la place:

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

Si les fichiers cv2.so ou cv2.cpython-36m-x86_64-linux-gnu.so n'existent pas dans votre /usr/local/lib/python***/dist-packagesemplacement, vérifiez s'ils sont dans un/usr/local/lib/python***/sites-packages dossier. Si tel est le cas, ajustez le chemin en conséquence. Sinon, il y a un problème avec votre installation opencv.

Cette réponse a été inspirée par des informations ici: https://www.pyimagesearch.com/2016/10/24/ubuntu-16-04-how-to-install-opencv/

gtcoder
la source
0

Pour ceux qui essaient d'utiliser 3.1.0 mais après l'installation de python, il est dit "module cv2 introuvable".

Vous avez probablement python mais pas python-dev.

sudo apt-get install python-dev

puis réinstallez 3.1.0 et cela fonctionnera.

Mark Silliman
la source
0

essayez d'utiliser sudo apt installer python3-opencv

il installera le dernier paquet de cv ouvert.

Ou vous pouvez essayer de réinstaller le package opencv. Il a peut-être été corrompu lors de l'installation.

Pradyumn Joshi
la source