web-dev-qa-db-fra.com

Impossible d'importer les versions après l'installation

J'essaie de configurer la bibliothèque d'apprentissage keras approfondie pour Python3.5 sur Ubuntu 16.04 LTS et d'utiliser Tensorflow comme back-end. J'ai Python2.7 et Python3.5 installé. J'ai installé Anaconda et avec l'aide de Tensorflow, numpy, scipy, pyyaml. Ensuite, j'ai installé keras avec la commande

Sudo python setup.py install

Bien que je puisse voir le répertoire /usr/local/lib/python3.5/dist-packages/Keras-1.1.0-py3.5.Egg, je ne peux pas utiliser la bibliothèque keras. Quand j'essaie de l'importer en python, il est écrit

ImportError: Aucun module nommé 'keras'

J'ai essayé d'installer keras usingpip3, mais j'ai obtenu le même résultat. 

Qu'est-ce que je fais mal? Des idées?

15
nabroyan

Diagnostiquer

Si vous avez installé pip (vous devriez l'avoir avant d'utiliser Python 3.5), répertoriez les packages Python installés, comme ceci:

$ pip list | grep -i keras
Keras (1.1.0)

Si vous ne voyez pas Keras, cela signifie que l'installation précédente a échoué ou est incomplète (cette bibliothèque a les dépendances suivantes: numpy (1.11.2), PyYAML (3.12), scipy (0.18.1), six (1.10.0) et Theano (0.8.2).)

Consultez le pip.log pour voir ce qui ne va pas.

Vous pouvez également afficher votre chemin Python comme ceci:

$ python3 -c 'import sys, pprint; pprint.pprint(sys.path)'
['',
 '/Library/Frameworks/Python.framework/Versions/3.5/lib/python35.Zip',
 '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5',
 '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/plat-darwin',
 '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/lib-dynload',
 '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages']

Assurez-vous que la bibliothèque Keras apparaît dans le chemin /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages (le chemin est différent sous Ubuntu).

Sinon, essayez de le désinstaller, puis relancez l'installation:

$ pip uninstall Keras

Utilisez une virtualenv

C’est une mauvaise idée d’utiliser et de polluer votre Python à l’échelle du système. Je recommande d'utiliser un virtualenv (voir ce guide ).

La meilleure utilisation consiste à créer un répertoire virtualenv (chez vous, par exemple) et à stocker vos virtualenvs dans:

cd virtualenv/
virtualenv -p python3.5 py-keras
source py-keras/bin/activate
pip install -q -U pip setuptools wheel

Puis installez Keras:

pip install keras

Vous recevez:

$ pip list
Keras (1.1.0)
numpy (1.11.2)
pip (8.1.2)
PyYAML (3.12)
scipy (0.18.1)
setuptools (28.3.0)
six (1.10.0)
Theano (0.8.2)
wheel (0.30.0a0)

Cependant, vous devez également installer des bibliothèques supplémentaires, telles que Tensorflow:

$ python -c "import keras"
Using TensorFlow backend.
Traceback (most recent call last):
  ...
ImportError: No module named 'tensorflow'

Le guide d'installation de TesnsorFlow est ici: https://www.tensorflow.org/versions/r0.11/get_started/os_setup.html#pip-installation

15
Laurent LAPORTE

Couru vers le même problème, en supposant que vous utilisiez anaconda3 et que vous utilisiez un venv avec >= python=3.6

python -m pip install keras
Sudo python -m pip install --user tensorflow
3
Beltino Goncalves

J'avais pip se référant par défaut à pip3, ce qui m'a fait télécharger les bibliothèques pour python3. Au contraire, j'ai lancé le shell sous la forme python (qui a ouvert python 2) et la bibliothèque n'y était pas installée de manière évidente. 

Une fois les noms pip3 -> python3 correspondants, pip -> python (2) ont tous fonctionné. 

1
angelo.mastro