安装 scikit-learn 的选项

Options for installing scikit-learn

来自http://scikit-learn.org/dev/install.html#building-scikit-learn-with-pip

pip install --user --install-option="--prefix=" -U scikit-learn

The --user flag asks pip to install scikit-learn in the $HOME/.local folder therefore not requiring root permission. This flag should make pip ignore any old version of scikit-learn previously installed on the system while benefiting from system packages for numpy and scipy. Those dependencies can be long and complex to build correctly from source.

The --install-option="--prefix=" flag is only required if Python has a distutils.cfg configuration with a predefined prefix= entry.

  1. man pip中我的pip 1.5.4为什么没有--user--install-option-U选项,虽然上面的命令可以运行?

    对于--install-option

    • 什么意思?

    • 我怎样才能找到"if Python has a distutils.cfg configuration with a predefined prefix= entry"?

    • "distutils.cfg"有什么用?

    对于-U,是什么意思?

  2. 如果我想将 scikit-learn 安装到我的系统默认目录, 我应该 运行 执行什么命令?是吗

    pip install scikit-learn
    

    ?

一种选择是安装 Anaconda,这样您就可以轻松安装 scikit-learn

首先,您一定要升级pip,因为当前版本是6.1.1。 运行

pip install --upgrade pip

做到这一点。我不一定相信 man pip 必须说的话,因为它可能是 pip 的古老版本。相反,使用文档 here.

-U--upgrade 是一回事。 --user 是分开的。

您无需担心 prefixdistutils.cfg 的事情。您会知道是否拥有它们,因为这是您必须手动设置的东西。所以,试试 运行

pip install scikit-learn -U --user

升级后pip,希望一切顺利。


如果您使用的是 Linux 或 Unix 系统(例如 OS X),或者您在 Windows 上安装了 GNU 命令行工具,并且您想要 pip 升级 所有 的包,这个命令应该在 bash:

中工作
pip list | awk '{print }' | while read -r package; do sudo -H pip install -U "$package"; done

pip list 打印出每个已安装软件包的名称和版本(并且,至少在我的 Ubuntu 14.10 系统上,包括系统安装或 pip 安装的所有内容) , 以及括号中的版本号。 awk '{print }' 以空格分隔每一行,returns 第一个字段(包名称)。 while 循环读取每个传入行(包名称)并调用 sudo -H pip install -U packagename,它将查看包是否是最新的,如果不是,它将升级它。我假设像 Ubuntu 安装的系统包不会被升级,因为它们没有在 PyPI 中列出,但我在发现之前终止了命令。