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.
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
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.
Essayez d'ajouter la ligne suivante dans ~/.bashrc
export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH
J'ai résolu mon problème à l'aide de la commande suivante:
conda install opencv
Utilisateur Python3.x
Sudo pip3 install opencv-python
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
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.
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
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.
J'ai résolu mon problème à l'aide de la commande suivante:
pip install opencv-python
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.
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