【问题标题】:Cannot import keras after installation安装后无法导入keras
【发布时间】:2017-02-17 06:17:43
【问题描述】:

我正在尝试在 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: 没有名为“keras”的模块

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

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

【问题讨论】:

    标签: python ubuntu tensorflow anaconda keras


    【解决方案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),六(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 list 并显示了 Keras (1.2.2),但是当我运行 python -c "import Keras" 时,我仍然得到 "ImportError: No module named Keras"
    【解决方案2】:

    pip 默认指向 pip3,这让我下载了 python3 的库。相反,我以python(打开了python 2)的身份启动了shell,并且库显然没有安装在那里。

    一旦我匹配了 pip3 -> python3、pip -> python (2) 的名称,所有这些都可以工作。

    【讨论】:

    • 我认为这是我的问题,因为我使用的是 python3 并重新安装了 2.7,因为这是我的班级使用的。在将 pip 用于 3 之后,我将如何更改 pip 以与 2.7 一起使用?
    • (抱歉迟到了)。理想情况下,如果您卸载 python2 + python3 并删除 pip-modules 2/3 的文件夹(./usr/local/lib/python2.7 + python3.5 和/或 ~/.local/lib/python2.7 + python3 .5) 你应该用sudo apt-get install python python-pip python3 python3-pip 安装东西。此时,您使用pip install... 安装的任何内容都将转到/../lib/python2.7,并在您使用python(2.7) 启动控制台时导入。无论您使用pip3 install ... 安装什么,都将转到/../lib/python3.5,并且可以使用python3 控制台导入
    【解决方案3】:

    遇到同样的问题,假设您使用 anaconda3 并且您使用 venv>= python=3.6

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

    【讨论】:

      【解决方案4】:

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

      点子列表 | grep -i keras

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

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

      现在检查日志,如果存在任何未决依赖项,它将影响您的安装。所以删除依赖项,然后再次安装它。

      【讨论】:

        猜你喜欢
        • 2022-01-19
        • 2019-12-23
        • 2016-02-22
        • 2016-02-08
        • 2018-05-22
        • 2016-01-30
        • 2021-01-17
        • 2019-09-16
        • 1970-01-01
        相关资源
        最近更新 更多