安装后无法导入keras

时间:2016-10-08 09:46:37

标签: python ubuntu tensorflow anaconda keras

我正在尝试在Ubuntu 16.04 LTS上为keras设置Python3.5深度学习库,并使用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:没有名为'keras'的模块

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

我做错了什么?任何想法?

4 个答案:

答案 0 :(得分:18)

诊断

如果安装了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),和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

使用virtualenv

使用和污染系统范围的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

答案 1 :(得分:4)

遇到相同的问题,假设您使用anaconda3,并且将cascadeClassifier = new CascadeClassifier(mCascadeFile.getAbsolutePath()); cascadeClassifier.load(mCascadeFile.getAbsolutePath()); venv一起使用:

>= python=3.6

答案 2 :(得分:2)

我有pip默认引用pip3,这让我下载了python3的libs。相反,我以python(打开python 2)启动了shell,显然没有安装库。

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

答案 3 :(得分:0)

首先通过以下方法检查已安装的Python软件包的列表:

点列表| grep -i keras

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

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

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