自动sklearn安装错误

Posted

技术标签:

【中文标题】自动sklearn安装错误【英文标题】:Auto-sklearn installation error 【发布时间】:2017-11-23 10:31:20 【问题描述】:

我正在尝试使用 pip install auto-sklearn 安装 auto-sklearn,但它会引发错误:

Command "/usr/bin/python3.5 -u -c "
    import setuptools, tokenize;
    __file__='/tmp/pip-build-tl8y2tfg/psutil/setup.py';
    f=getattr(tokenize, 'open', open)(__file__);
    code=f.read().replace('\r\n', '\n');
    f.close();
    exec(compile(code, __file__, 'exec'))
"install 
    --record /tmp/pip-7t8rbku0-record/install-record.txt 
    --single-version-externally-managed --compile" 
failed with error code 1 in /tmp/pip-build-tl8y2tfg/psutil/

我的/tmp/ 目录中没有以“pip-”开头的任何内容。

我按照manual中的所有步骤完成了所有步骤,但仍然出现此错误。

我也尝试使用来自this question 的命令,但在这两种情况下都出现了相同的错误。

我的操作系统是 Ubuntu 16.04.2。

如何安装 auto-sklearn?

【问题讨论】:

automl.github.io/auto-sklearn/stable/installation.html 我从这里完成了所有步骤。 您可以将您的操作系统添加到问题中吗? 我将此添加到问题中。 你可以用 -v 或 --verbose 或类似的东西运行你的命令来查看更多数据吗? 【参考方案1】:

auto-sklearn 安装需要 python 3.5 或更高版本。另外对这里提到的包也有依赖:https://raw.githubusercontent.com/automl/auto-sklearn/master/requirements.txt

根据错误,您似乎在psutil 安装时遇到了问题。

更好的方法是拥有一个 python 3.5+ 环境。然后使用pip install auto-sklearn

检查您使用的是哪个版本/路径 - which pythonwhich pip 如果您还没有安装 python 3.5 或更高版本:steps to follow 安装正确版本的python后,设置python3.5的虚拟环境。 Follow设置虚拟环境的代码:

python3 -m pip install --user virtualenv

source env/bin/activate

最后拨打pip install auto-sklearn

更新:

如果您使用 anaconda,以下命令将启动您的虚拟环境:

conda update conda #更新你当前的conda版本

conda create --name py35 python=3.5 #为 python 3.5 创建一个虚拟环境

source activate py35 #激活环境

在此处再次发布您的查询,以防您不确定步骤。

【讨论】:

【参考方案2】:

对于任何提出这个问题的人,我在尝试在 OSX 上安装时遇到了这个问题。作者可能遗漏了她的一些堆栈跟踪。即:

    Installing collected packages: pyrfr
  Running setup.py install for pyrfr ... error
    Complete output from command /Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7 -u -c "import setuptools, tokenize;__file__='/private/var/folders/g5/vdl1tlwd333d5vzfw4qfc86c0000gp/T/pip-install-zy5yrmfh/pyrfr/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /private/var/folders/g5/vdl1tlwd333d5vzfw4qfc86c0000gp/T/pip-record-iuj3muyd/install-record.txt --single-version-externally-managed --compile --user --prefix=:
    running install
    running build_ext
    building 'pyrfr._regression' extension
    swigging pyrfr/regression.i to pyrfr/regression_wrap.cpp
    swig -python -c++ -modern -features nondynamic -I./include -o pyrfr/regression_wrap.cpp pyrfr/regression.i
    unable to execute 'swig': No such file or directory
    error: command 'swig' failed with exit status 1

您的安装错误可能是由于没有安装 swig 造成的。

Swig 是一个 C/C++ 代码生成器,python 使用 C 库的接口。

您可以按照此处项目网站上的说明进行安装: http://www.swig.org/Doc4.0/SWIGDocumentation.pdf

基本上,从网站下载最新的 tarball 存档。提取它。 cd 到解压的文件夹并运行:

./configure
make
make install
curl https://raw.githubusercontent.com/automl/auto-sklearn/master/requirements.txt | xargs -n 1 -L 1 pip3 install

而且你应该很好地运行 auto-sklearn。

【讨论】:

【参考方案3】:

使用sudo写入系统库往往会带来麻烦,因为PATH等重要变量在不同的id下运行时会有所不同。相反,请按照 manual 中的建议,在 virtualenv 中安装,以普通用户身份运行。

【讨论】:

以上是关于自动sklearn安装错误的主要内容,如果未能解决你的问题,请参考以下文章

Python: 安装 sklearn 包出现错误的解决方法

如何在没有类型错误的情况下在 python 3.5.0 上导入 sklearn?

无法安装软件包“sklearn”

导入 sklearn 时出现不可排序的类型错误

无法使用命令提示符安装 sklearn 库

导入sklearn时出现conda sklearn错误