Невозможно импортировать keras после установки

Я пытаюсь установить keras библиотеку глубокого обучения для Python3.5 на Ubuntu 16.04 LTS и использовать Tensorflow в качестве бэкэнд. У меня установлены Python2.7 и Python3.5. Я установил Anaconda и с его помощью Tensorflow, numpy, scipy, pyyaml. Впоследствии я установил keras с командой

sudo python setup.py install

Хотя я вижу каталог /usr/local/lib/python3.5/dist-packages/Keras-1.1.0-py3.5.egg, я не могу использовать библиотеку keras. Когда я пытаюсь импортировать его в python, он говорит

ImportError: нет модуля с именем 'keras'

Я попытался установить keras с помощью pip3, но получил тот же результат.

Что я делаю неправильно? Любые идеи?

Ответ 1

Диагностика

Если у вас установлен pip (вы должны использовать его, пока не используете Python 3.5), перечислите установленные пакеты Python, например:

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

Если вы не видите Keras, это означает, что предыдущая установка не была выполнена или была неполной (эта lib имеет эти зависимости: numpy (1.11.2), PyYAML (3.12), scipy (0.18.1), six (1.10.0 ) и Теано (0.8.2).)

Обратитесь к pip.log, чтобы узнать, что не так.

Вы также можете отобразить свой путь Python следующим образом:

$ 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']

Убедитесь, что библиотека Keras отображается в пути /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages (путь Ubuntu отличается от другого).

Если нет, попробуйте удалить его и повторите установку:

$ pip uninstall Keras

Используйте virtualenv

Плохая идея использовать и загрязнять ваш общесистемный Python. Я рекомендую использовать virtualenv (см. guide).

Лучшее использование - создать каталог virtualenv (например, в вашем доме) и сохранить ваши виртуальные имена в:

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

Затем установите Keras:

pip install keras

Вы получаете:

$ 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)

Но вам также нужно установить дополнительные библиотеки, например Tensorflow:

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

Руководство по установке TesnsorFlow находится здесь: https://www.tensorflow.org/versions/r0.11/get_started/os_setup.html#pip-installation

Ответ 2

Добрался до той же проблемы, venv, что вы используете anaconda3 и вы используете venv с >= python=3.6:

python -m pip install keras
sudo python -m pip install --user tensorflow

Ответ 3

По умолчанию pip ссылался на pip3, что заставило меня скачать libs для python3. Напротив, я запустил оболочку как python (которая открыла python 2), и библиотека там явно не была установлена.

Как только я сопоставил имена pip3 → python3, pip → python (2) все заработало.

Ответ 4

Сначала проверил список установленных пакетов Python:

список пипсов | grep -i керас

Если есть показанные керасы, установите их:

pip install keras --upgrade --log./pip-keras.log

Теперь проверьте журнал, если есть какие-либо ожидающие зависимости, это повлияет на вашу установку. Так что удалите зависимости, а затем снова установите его.