安装后无法导入keras

nab*_*yan 21 python ubuntu anaconda keras tensorflow

我正在尝试在Ubuntu 16.04 LTS上设置keras深度学习库Python3.5Tensorflow用作后端.我Python2.7Python3.5安装.我已经安装Anaconda,并与它的帮助下 Tensorflow,numpy,scipy,pyyaml.之后我安装keras了命令

sudo python setup.py安装

虽然我可以看到/usr/local/lib/python3.5/dist-packages/Keras-1.1.0-py3.5.egg目录,但我无法使用keras库.当我尝试在python中导入它时,它说

ImportError:没有名为'keras'的模块

我试过安装keras使用pip3,但得到了相同的结果.

我究竟做错了什么?有任何想法吗?

Lau*_*RTE 22

诊断

如果已pip安装(在使用Python 3.5之前应该已安装),请列出已安装的Python包,如下所示:

$ pip list | grep -i keras
Keras (1.1.0)
Run Code Online (Sandbox Code Playgroud)

如果您没有看到Keras,则表示先前的安装失败或不完整(此lib具有此依赖性:numpy(1.11.2),PyYAML(3.12),scipy(0.18.1),six(1.10.0)和Theano(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']
Run Code Online (Sandbox Code Playgroud)

确保Keras库出现在/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages路径中(Ubuntu上的路径不同).

如果没有,请尝试卸载它,然后重试安装:

$ pip uninstall Keras
Run Code Online (Sandbox Code Playgroud)

使用virtualenv

使用和污染系统范围的Python是个坏主意.我建议使用virtualenv(参见本指南).

最好的用法是创建一个virtualenv目录(例如在你的家中),并将你的virtualenvs存储在:

cd virtualenv/
virtualenv -p python3.5 py-keras
source py-keras/bin/activate
pip install -q -U pip setuptools wheel
Run Code Online (Sandbox Code Playgroud)

然后安装Keras:

pip install keras
Run Code Online (Sandbox Code Playgroud)

你得到:

$ 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)
Run Code Online (Sandbox Code Playgroud)

但是,您还需要安装额外的库,例如Tensorflow:

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

TesnsorFlow的安装指南在这里:https://www.tensorflow.org/versions/r0.11/get_started/os_setup.html#pip-installation

  • 我运行了 pip list 并且 Keras (1.2.2) 出现了,但是当我运行 python -c "import Keras" 我仍然得到 "ImportError: No module named Keras" (2认同)

小智 8

遇到相同的问题,假设您使用anaconda3并使用venvwith与>= python=3.6

python -m pip install keras
sudo python -m pip install --user tensorflow
Run Code Online (Sandbox Code Playgroud)