J'ai installé le fichier whl avec la contribution include opencv + car je veux utiliser l'algorithme SIFT. Je l'ai installé avec pip dans mon environnement conda, donc quand je pointe dans "conda list" il me montre "opencv-python 3.4.5 + contrib" Mais quand j'essaye d'exécuter "ModuleNotFoundError: Aucun module nommé 'cv2'". Mon projet utilise également l'environnement approprié
import cv2 sift = cv2.xfeatures2d.SIFT_create() ModuleNotFoundError: No module named 'cv2'
3 Réponses :
Vous chargez probablement python2 alors que l'environnement conda que vous avez utilisé contient un exécutable python3, ou vice versa.
Quel exécutable utilisez-vous pour exécuter ces lignes? Si c'est quelque chose dans un répertoire système, il n'a pas les mêmes bibliothèques que vous voyez avec une liste de conda
.
Vous pouvez ajouter which
sous Linux pour obtenir le chemin absolu d'un exécutable, par exemple quel python
ou quel python3
.
Voir aussi la documentation officielle de conda: https: // conda.io/docs/user-guide/getting-started.html#managing-python
Personnellement, je n'aime pas conda, car il a tendance à gâcher trop de choses, et j'installe généralement tout avec pip / virtualenvs ou avec un pipenv .
1) Supprimez toute votre installation opencv existante
2) Réinstallez-la à nouveau de cette manière (python 3)
> import cv2 > sift = cv2.xfeatures2d.SIFT_create()
3) Et voilà!
python -m pip install opencv-python
Pour python3, vous voudriez faire; python3 -m pip installer opencv-python
Il y a 2 problèmes possibles à propos de ModuleNotFoundError: Aucun module nommé 'cv2'.
trouvez le fichier cv2.so et déplacez-le dans usr / local / lib / python3.6 / site-packages
find / -name 'cv2.so'
sortie possible /usr/local/lib/python3.6/site-packages/
cd /usr/local/lib/python3.6/site-packages/
cp cv2.so /usr/lib/python3.6/site-packages/
puis quittez le terminal et relancez-le.
vi / etc / profile
modifiez le profil et ajoutez export PYTHONPATH = / usr / local / lib / python3.6 / site-packages: $ PYTHONPATH
jusqu'à la dernière ligne.
comment l'avez-vous installé? comment le gérez-vous?