我试图在Ubuntu 16.04 LTS上为Python3.5
设置keras
深度学习库,并使用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中导入它时它显示
importterror:没有名为'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), 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
使用虚拟环境
使用和污染你的系统范围的Python是一个坏主意。我建议使用虚拟环境(参见本指南)。
最好的用法是创建一个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
运行到相同的问题,假设您使用anaconda3和您使用venv
与>= python=3.6
:
python -m pip install keras
sudo python -m pip install --user tensorflow
我让pip
默认引用pip3,这让我下载了python3的库。相反,我启动shell为python
(打开python 2),库显然没有安装在那里。
一旦我匹配了名称pip3 -> python3, pip -> python(2)都工作了。
首先检查已安装的Python包列表:
pip list | grep -i keras
如果有keras显示,那么安装它:
pip install keras——upgrade——log ./pip-keras.log
现在检查日志,如果有任何挂起的依赖项存在,它将影响您的安装。因此,删除依赖项,然后再次安装它。