Impossible de trouver le module cv2 lors de l'utilisation d'OpenCV


264

J'ai installé OpenCV sur le système d'exploitation Occidentalis (une variante de Raspbian) sur un Raspberry Pi, en utilisant le script de jayrambhia trouvé ici . Il a installé la version 2.4.5.

Lorsque j'essaie import cv2dans un programme Python, j'obtiens le message suivant:

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

Le fichier cv2.soest stocké dans/usr/local/lib/python2.7/site-packages/...

Il y a aussi des dossiers /usr/local/libappelés python3.2 et python2.6, ce qui pourrait être un problème mais je ne suis pas sûr.

Est-ce peut-être une erreur de chemin? Toute aide est appréciée, je suis nouveau sur Linux.


3
essayez: python --version. s'il dit 3.2, alors vous avez un indice. essayez de localiser l'exécutable 2.7 et appelez-le avec un chemin absolu
berak

3
Pour macOS 10.12 et python 3, la commande simple ci-dessous a permis de résoudre l'erreur: pip install opencv-python Reportez-vous à: pypi.python.org/pypi/opencv-python
Tushar

Si vous utilisez macOS Catalina, cela peut peut-être vous aider stackoverflow.com/a/61578366/11559619
NicolasElPapu

Réponses:


347

Exécutez d'abord ces commandes dans Terminal / CMD:

conda update anaconda-navigator  
conda update navigator-updater  

alors le problème pour l'instruction ci-dessous sera résolu

pour windows si anaconda est installé, vous pouvez simplement faire

pip install opencv-python

ou

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

si vous êtes sous linux, vous pouvez faire:

pip install opencv-python

ou

conda install opencv 

Link1 Link2

Pour python3.5 + vérifiez ces liens: Link3 , Link4


7
pour linux, vous devez taper 'pip install opencv-python' ou 'sudo pip install opencv-python'
Oz Radiano

12
Vous vous êtes trompé de commande. Ça l'est sudo pip3 install opencv-python. De plus, pour linux, vous devez l'exécuter comme sudo pip3 install opencv-pythonpour python 3 et sudo pip install opencv-pythonpour python 2. Vous n'avez pas besoin du sudo au début de la commande si vous faites sudo -iforst ou si vous exécutez en tant que root d'une manière ou d'une autre.
Stiffy2000

2
Si vous rencontrez des problèmes lors de l'installation, assurez-vous que vous disposez de la dernière version de pip, pip install --upgrade pipc'était mon
problème

4
pip install opencv-pythontravaille pour moi et je n'ai pas Anaconda. Juste pour info pour toute autre personne qui vient ici.
basculer le


73

Cela se produit lorsque python ne peut pas faire référence à votre dossier de packages de site par défaut où vous avez conservé les fichiers ou bibliothèques python requis

Ajoutez ces lignes dans le code:

import sys

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

ou avant d'exécuter la commande python dans bash, déplacez-vous vers le répertoire /usr/local/lib/python2.7/site-packages . C'est une solution de contournement si vous ne voulez rien ajouter au code.


1
Travaillez-vous sur Windows? Ce chemin ressemble au système Linux.
FavorMylikes

1
la question portait sur Raspbian OS, qui est Linux.
Midhun

2
A travaillé pour moi sur la machine mac
sable

cela fonctionne pour une session, mais si je quitte et relance python, je dois le refaire. comment enregistrer cette modification?
Mostafa du

J'obtiens "ImportError: numpy.core.multiarray n'a pas réussi à importer" lorsque je fais cela. Aucune suggestion?
hiquetj

45

J'ai résolu mon problème en utilisant la commande suivante:

conda install opencv

6
Si vous avez installé Anaconda Python, c'est la commande que vous recherchez.
kevinmicke

J'ai essayé cela aujourd'hui sur un environnement conda Windows 64 bits 2.7 et j'ai obtenuPackageNotFound error
Mike Wise

2
Ce qui a fonctionné étaitconda install -c https://conda.binstar.org/menpo opencv
Mike Wise,

40

Essayez d'ajouter la ligne suivante dans ~/.bashrc

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

2
Merci, cela a fonctionné pour moi lorsqu'il est utilisé: export PYTHONPATH = / usr / local / python / 2.7: $ PYTHONPATH
Ikbel


21

Aucune des réponses ci-dessus n'a fonctionné pour moi. Je devenais fou jusqu'à ce que je trouve cette solution ci-dessous!

Exécutez simplement:

sudo apt install python-opencv

14

Pour Windows 10 et Python 3.6, cela a fonctionné pour moi

pip install opencv-contrib-python


1
J'ai aussi travaillé sur Linux (Ubuntu 16.04)
FlorianH

13

J'ai résolu mon problème en utilisant la commande suivante:

pip install opencv-python

9

Je le résous en exécutant:

pip3 install opencv-python

7

Je suis tombé sur le même problème que j'ai installé cv2 par

pip install cv2

Cependant, lorsque j'importe un module cv2, il n'a affiché aucun module nommé erreur cv2.
Ensuite, j'ai cherché et trouvé des cv2.pydfichiers sur mon ordinateur et je les ai copiés et collés dans le répertoire site-packages

C:\Python27\Lib\site-packages

puis j'ai fermé et rouvert l'application existante, cela a fonctionné.

EDIT Je vais vous dire comment installer cv2correctement.

1. Installez d'abord numpy sur votre ordinateur en

pip install numpy


2. Téléchargez opencv depuis Internet (près de 266 Mo).
Je télécharge opencv-2.4.12.exepour python 2.7. Installez ensuite ce fichier opencv-2.4.12.exe.
J'ai extrait dans C:\Users\harun\Downloadsce dossier.
Après l'installation, recherchez cv2.pydans les dossiers.
Pour moi

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

dans ce dossier, prenez le cv2.pydet copiez-le dans le

C:\Python27\Lib\site-packages

vous pouvez maintenant utiliser cv2en vous des scripts python.


Je ne pense pas que le paquet cv2installé via pipait quelque chose à voir avec ça openCV, vous confirmez?
epsilones

@Newben désolé pour une réponse tardive. dans la partie EDIT, je parle de la façon d'installer correctement opencv. je souhaite que cela vous aide si vous n'avez pas résolu le problème
Harun ERGUL

5

Si vous souhaitez installer opencv dans un environnement virtuel. Exécutez la commande dans le terminal pour obtenir la liste des environnements virtuels.

conda env list

ou la commande de cahier jupyter est

!conda env list

Mettez ensuite à jour votre anaconda.

conda update anaconda-navigator
conda update navigator-updater

Installez opencv dans le chemin de votre environnement sélectionné.

conda install -c ['environment path'] opencv

Cahier Juypter

!conda install --yes --prefix ['environment path'] opencv

4

SI VOUS CONSTRUISEZ À PARTIR DE SCRATCH, ALLEZ À TRAVERS CE

Vous obtenez No module named cv2.cv. Fils, tu as bien fait, puisque tu n'as sudo make installdonné aucune erreur.

Mais regardez cette étape

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

LA TRÈS IMPORTANTE ÉTAPE DE TOUTES CELLES-CI EST DE LE LIER.

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

Au moment où vous choisissez une liaison judicieuse, ou par force brute, recherchez simplement le fichier cv2.so s'il existe ou non

Ici, je lance ma sortie.

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

Ma démarche n'aidera que si votre construction est bien faite.


Ce n'est qu'avec l'aide de @TheExorcist que cela pourrait être résolu
Rodney Salcedo

Heureux de vous aider @RodneySalcedo, mais c'est un péché en établissant un lien, nous nous engageons inconsciemment.
TheExorcist

2

Je résous ce problème en exécutant le code pip install opencv_contrib_python


0

Essayez ceci:

sudo ldconfig

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

et ajoutez cette ligne suivante dans le opencv.confpas dans la fenêtre de commande

/usr/local/lib

Ensuite:

sudo ldconfig

sudo nano /etc/bash.bashrc

et ajoutez ces deux lignes dans le bash.bashrcpas dans la fenêtre de commande

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

enfin, redémarrez votre Pi sudo reboot now

et essaye import cv2


Pouvez-vous expliquer pourquoi ces étapes? Comment sont-ils liés au CV2?
Kishor Pawar

0

Une autre façon dont j'ai eu la possibilité d'installer et de travailler était dans la communauté Visual Studio 2017. Visual studio a un bel environnement python avec débogage.
Donc, à partir de la fenêtre env vs python, j'ai recherché et ajouté opencv. Je pensais juste partager parce que j'aime essayer les choses de différentes manières et sur différents ordinateurs.

Environnements python VisualStudio2017 avec opencv


0

J'ai eu le même problème, je ne pouvais tout simplement pas le comprendre avec opencv2 et opencv3 installés dans / opt / opencv et opencv3 respectivement. Il s'est avéré que l'installation anaconda sanglante d'opencv dans mon répertoire personnel était la première sur le chemin et opencv mutilé. Supprimé et commencé à utiliser / opt / opencv3 / lib comme défini dans /etc/ld.so.conf.d/opencv.conf. A parfaitement fonctionné du premier coup. Avez-vous installé anaconda? Cela pourrait être le problème.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.