web-dev-qa-db-fra.com

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

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 cv2 dans un programme Python, le message suivant s'affiche:

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.so est stocké dans /usr/local/lib/python2.7/site-packages/...

Il y a aussi des dossiers dans /usr/local/lib appelés python3.2 et python2.6, ce qui pourrait poser problème, mais je ne suis pas sûr.

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

199
user2971844

Commencez par exécuter 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 vous avez installé anaconda, vous pouvez simplement faire

pip install opencv-python

ou

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

si vous êtes sur linux, vous pouvez faire:

pip install opencv-python

ou

conda install opencv 

Link1Link2

Pour python3.5 +, vérifiez les liens suivants: Link , Link4

270
Breeze

Cela se produit lorsque python ne peut pas faire référence à votre dossier site-packages par défaut dans lequel 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 de bash, déplacez-le vers le répertoire / usr/local/lib/python2.7/site-packages. C'est un moyen de contourner le problème si vous ne voulez rien ajouter au code.

64
Midhun

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

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

J'ai résolu mon problème à l'aide de la commande suivante:

conda install opencv
37
tarun kumar Sharma

Utilisateur Python3.x

Sudo pip3 install opencv-python
16
Anoop Kumar

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

Il suffit de lancer:

Sudo apt install python-opencv
13
Fatmajk

Je suis venu à travers même que ce problème, j'ai installé CV2 par

pip install cv2

Cependant, lorsque j'importais le module CV2, aucun module nommé erreur CV2 n'était affiché.
Puis j'ai cherché et trouvé cv2.pyd fichiers dans 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 dire comment installer cv2 correctement.

1. Commencez par installer numpy sur votre ordinateur en

pip install numpy


2. Téléchargez opencv sur Internet (presque 266 mb).
Je télécharge opencv-2.4.12.exe pour python 2.7. Puis installez ce fichier opencv-2.4.12.exe.
J'ai extrait à C:\Users\harun\Downloads à ce dossier.
Après l’installation, recherchez cv2.py dans les dossiers.
Pour moi

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

dans ce dossier, prenez thecv2.pyd et copiez-le dans le

C:\Python27\Lib\site-packages

vous pouvez maintenant utiliser cv2 dans vos scripts python.

7
Harun ERGUL

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 jupyter carnet de commande est

!conda env list

Puis mettez à jour votre anaconda.

conda update anaconda-navigator
conda update navigator-updater

Installez opencv dans le chemin d’environnement sélectionné.

conda install -c ['environment path'] opencv

Cahier Juypter

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

Si vous construisez à partir de Scratch, allez à travers cela

Vous obtenez No module named cv2.cv. Mon fils, vous avez tous fait le bon choix, puisque votre Sudo make install ne donnait aucune erreur.

Cependant 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 TOUT CES CES IS POUR LE LIEN.

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 brutale, trouvez 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 ne sera utile que si votre construction est bien faite.

3
TheExorcist

J'ai résolu mon problème à l'aide de la commande suivante:

pip install opencv-python
2
jincy mariam

J'ai eu le même problème, je ne pouvais tout simplement pas 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 un chemin et qu’elle était oppressée. Supprimé et commencé à utiliser/opt/opencv3/lib tel que défini dans /etc/ld.so.conf.d/opencv.conf. A parfaitement fonctionné du premier coup. Avez-vous installé anaconda? Pourrait être le problème.

0
Eamonn Kenny

Essayez ceci:

Sudo ldconfig

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

et ajoutez cette ligne suivante dans le opencv.conf pas 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.bashrc pas dans la fenêtre de commande

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

enfin redémarrer votre Pi Sudo reboot now

et essayez import cv2

0
Tes3awy