安装后无法导入keras

Cannot import keras after installation

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

安装了 keras

sudo python setup.py install

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

ImportError: No module named 'keras'

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

我做错了什么?有什么想法吗?

诊断

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

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

如果您没有看到 Keras,则表示之前的安装失败或不完整(此库具有以下依赖项:numpy (1.11.2)、PyYAML (3.12)、scipy (0.18. 1), 六个 (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']

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

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

$ pip uninstall Keras

使用虚拟环境

在整个系统范围内使用和污染是个坏主意 Python。我建议使用 virtualenv(参见 guide)。

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

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

pip 默认引用 pip3,这让我下载了 python3 的库。相反,我将 shell 作为 python 启动(打开 python 2),但显然没有在那里安装库。

一旦我匹配了名称 pip3 -> python3,pip -> python (2) 全部工作。

运行 同样的问题,假设你使用 anaconda3 并且你使用 venv>= python=3.6:

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

首先检查已安装 Python 包的列表:

点列表| grep -i keras

如果显示了 keras,则通过以下方式安装它:

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

现在检查日志,如果有任何挂起的依赖项存在,它会影响你的安装。因此,删除依赖项,然后再次安装它。