2
votes

Keras installé avec pip3, mais obtention de l'erreur «Aucun module nommé keras»

Je crée un classificateur d'identification de feuille en utilisant le CNN, le Keras et les backends Tensorflow sous Windows. J'ai installé Anaconda, Tensorflow, numpy, scipy et keras.

J'ai installé keras en utilisant pip3:

ModuleNotFoundError: No module named 'keras'

Cependant, lorsque je lance mon projet, j'obtiens l'erreur suivante p>

C:\> pip3 list | grep -i keras
Keras               2.2.4
Keras-Applications  1.0.6
Keras-Preprocessing 1.0.5

Pourquoi le module est-il introuvable et comment puis-je corriger cette erreur?


1 commentaires

L'une ou l'autre des solutions a-t-elle fonctionné pour vous?


3 Réponses :


1
votes

Il semble que vous ayez peut-être utilisé pip3 pour installer tout en ayant plusieurs installations python sur votre machine.

Avez-vous installé python sur votre machine avant d'installer Anaconda? Parfois, le pip3 dans votre variable PATH est pour une version différente de celle d'Anaconda.

Essayez ceci, puis exécutez à nouveau votre code:

\path\to\Anaconda\python\python3 -m pip3 install keras

Exécutez la liste de conda pour voir s'il est installé dans votre installation Anaconda python:

conda list

Mettre à jour

Si cela ne fonctionne toujours pas, essayez ceci:

conda install keras

Cela utilise pip3 mais garantit que la sélection de l'installation correcte lors de l'installation de keras.


5 commentaires

Oui, j'ai installé python sur ma machine avant d'installer Anaconda. J'essaie votre code .ne fonctionne toujours pas.


@kajasumanie kanapathipillai Je suis convaincu que c'est lié. Pouvez-vous coller la trace de pile que vous obtenez ici si elle est différente de 'ModuleNotFoundError: Aucun module nommé' keras ''? Et s'il vous plaît également vérifier si c'est dans la sortie lorsque vous essayez: liste conda dans le shell.


c'est 'ModuleNotFoundError: Aucun module nommé' keras '


@kajasumanie kanapathipillai Et l'avez-vous vu dans la liste lorsque vous avez essayé 'conda list' dans la console?


@kajasumanie kanapathipillai Jetez un œil à la mise à jour que je viens d'apporter à la solution. Essayez-le et dites-moi comment ça se passe. Je suis sûr que cela fonctionnera pour vous. :)



5
votes

Installer Anaconda, puis installer des packages avec des coutures pip comme confondre l'objectif d'Anaconda (ou de tout autre outil de gestion de packages)

Anaconda est là pour vous aider à organiser vos environnements et leurs dépendances.

En supposant vous avez conda sur votre chemin système, faites:

Mettez à jour conda

conda activate awesome 
(awesome ) conda install ipykernel -y
(awesome) python -m ipykernel install --user --name my_env --display-name "Awesome"
conda deactivate

Nous pouvons créer un environnement appelé 'génial' avec python 3.6 et ajouter tout génial les packages datascience fournis avec anaconda (numpy, scipy, jupyter notebook / lab, etc.), et tensorflow et keras. vous pouvez supprimer anaconda et avoir un package minimal si vous le souhaitez.

python3 -m pip install packages 

Après un certain temps, et tout va bien, activez votre environnement et testez si nous peut importer des keras.

python -c "import sys;print(sys.path)"

Lorsque vous avez terminé de faire du génial, vous pouvez le désactiver comme suit:

conda create -n awesome python=3.6 keras

conda vaut mieux que pip car il traite des compatibilités des bibliothèques. Il met à niveau et rétrograde les packages pour vous.

Parfois beau à propos d'Anaconda est que vous pouvez simplement installer le paquet principal et il installera toutes ses dépendances pour vous, donc vous pouvez simplement faire:

conda deactivate

Cela trouvera automatiquement tous les paquets dont keras dépend ou définis par défaut, tels que tensorflow et numpy

Ce que vous faites de mal :
Vous obtenez cette erreur car votre python sys.path ne peut pas localiser les packages que vous installez.

Vous pouvez faire:

conda activate awesome
python -c "import keras"

Cela affichera l'emplacement de votre python recherchera les packages. Il est fort probable que le chemin de la bibliothèque keras n'en soit pas un.

Lorsque vous utilisez simplement pip pour installer, votre python par défaut qui a ce pip aura accès à vos installations. Donc, si vous avez plusieurs Pythons, la recommandation est d'être explicite comme:

conda create -n awesome python=3.6 anaconda tensorflow keras

Donc ici vous êtes sûr que c'est Python dans le répertoire python3 qui a fait l'installation. C'est là que nous avons besoin d'environnements qui maintiennent nos versions et dépendances Python différentes et faciles à contrôler. Anaconda, Pipenv, Poetry, piptools et plus sont là pour vous aider à mieux gérer vos systèmes;)

Mise à jour: pour les utilisateurs de Jupyter Notebook / Lab

Si vous avez déjà Jupyter, disons sur votre environnement de base, nous pouvons ajouter awesome comme un autre noyau:

conda update conda

Maintenant, si vous exécutez Jupyter, vous devriez pouvoir choisir entre Base Python et environnement génial.


3 commentaires

Je pourrais résoudre le problème de conda auquel j'étais confronté (condaupgradeerror) grâce à cette approche élégante. Merci beaucoup.


En suivant ces instructions, j'ai créé l'environnement virtuel "awesome", en l'installant en python 3.6, tensorflow et keras. Par la suite, j'ai répertorié tous les packages chargés dans l'environnement et vérifié que les deux s'y trouvent. Cependant, lorsque vous essayez d'importer tensorflow et keras dans un notebook jupyter, il renvoie l'erreur "pas de nom de module ..." Quel pourrait être mon problème?


Votre Jupyter n'a pas accès à votre superbe environnement. Mettre à jour la réponse pour la partie Jupyter



1
votes

Cela m'a aidé à vérifier d'abord sur la ligne de commande pour voir si Keras était bien installé comme indiqué dans une réponse précédente ici.

python -c "import keras"

Si vous obtenez une erreur avec cette commande, vous Je n'ai pas installé keras dans le bon environnement.

Après avoir parcouru un certain nombre de solutions, j'obtenais toujours l'erreur. Il s'est avéré que j'ai dû redémarrer mon notebook jupyter pour que les modifications prennent effet - juste au cas où vous utiliseriez notebook.


0 commentaires