【问题标题】:Installing nolearn (python machine learning) results in error安装 nolearn(python 机器学习)导致错误
【发布时间】:2015-11-05 21:18:57
【问题描述】:

我正在尝试安装 nolearn,这是一个 Python 机器学习库(基于 theano 和 lasagne),但收到一个异常错误(注意:该命令是安装 nolearn 作为安装文档的第一步):

命令:

sudo pip install -r https://raw.githubusercontent.com/dnouri/nolearn/master/requirements.txt

输出:

Command "{user-directory}/miniconda3/envs/condatest/bin/python3 -c "import setuptools, tokenize;__file__='/private/tmp/pip-build-_ox1_tc0/scipy/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-ms2zduwl-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/tmp/pip-build-_ox1_tc0/scipy

我已经尝试了很多方法,包括安装 freetype 以及重新安装 matplotlib(均基于另一个 stackexchange 帖子),但不幸的是它仍然无法正常工作(显示了上面的错误)。

感谢任何帮助!

我的配置如下:

  • 在 MAC OSX (Yosemite) 上运行
  • 在 ANACONDA 环境中运行
  • 使用 conda 作为环境管理器

【问题讨论】:

  • Scipy 由于某种原因未能更新。请重新运行添加到pip --log option 可能它会阐明这个问题。

标签: python matplotlib theano lasagne nolearn


【解决方案1】:

使用 Anaconda 时,通常最好使用 conda 安装/更新,而不是使用 pip

您可以尝试使用 conda 而不是 pip 更新 scipy:condu update scipy

或者更新通过 conda 安装的所有内容:conda update --all

您可能需要先更新 Anaconda 本身:conda update conda

如果您可以通过这种方式安装/更新 scipy,请尝试对 requirements.txt 中的其他条目进行相同操作(手动/单独运行安装/更新)。

【讨论】:

  • 感谢您的想法——我怀疑将 scipy 识别为未安装的组件的问题是症状而不是根本原因。具体来说,我可以使用 conda 成功安装 scipi,但我想要的实际库 nolearn 只有一个非常旧的版本。
  • 现在已成功安装 scipy,我现在收到与千层面有关的错误:Command "{user-directory}/miniconda3/envs/condatest/bin/python3 -c "import setuptools, tokenize; __file__='/Users/ericbroda/MachineLearning/digits/src/lasagne/setup.py'; exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" develop --no-deps" failed with error code 1 in /Users/ericbroda/MachineLearning/digits/src/lasagne
  • 最后一条评论...我正在使用 python 3.5 通过 conda 提供的千层面版本不支持此版本的 python(conda 问题包冲突错误)
  • 您可以从 Github 获取最新版本的 Lasagne。您不必使用pipconda 来安装它。只需按照lasagne.readthedocs.org/en/latest/user/… 处的“开发安装”说明进行操作即可
  • 谢谢丹尼尔。这就是我将要做的。我最终需要停止使用 conda 并切换到 virtualenv(和 virtualenvwrapper),而且让 nolearn 正常工作似乎要容易得多。
【解决方案2】:

我最终难以协调nolearn 库及其对lasagnetheano(等)的最新/当前版本以及与anaconda 可用/兼容的版本的要求。如果有更多的时间,我可能已经能够解决这些冲突,但由于时间有限,我只是停止使用anaconda(和conda),只使用常规的python 分发和virtualenv(和virtualenvwrapper)并且很快就完成了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-06
    • 2021-10-27
    • 1970-01-01
    • 1970-01-01
    • 2021-04-05
    • 1970-01-01
    • 2017-03-03
    • 2019-05-14
    相关资源
    最近更新 更多