来源http://scikit-learn.org/dev/install.html#building-scikit学习与pip
pip install --user --install-option="--prefix=" -U scikit-learn
--user标志要求pip在$HOME/.local中安装scikit learn文件夹,因此不需要root权限。这面旗帜应该pip忽略以前安装在系统,同时受益于numpy和scipy的系统包。这些依赖关系可能很长,而且很复杂,很难从中正确构建来源
只有当Python具有带有预定义前缀=entry的distutils.cfg配置。
-
在我的
pip 1.5.4
的man pip
中,为什么没有--user
--install-option
-U
选项,尽管上面的命令可以运行?对于
--install-option
,-
这是什么意思?
-
我该如何发现"如果Python有一个带有预定义前缀=entry的distutils.cfg配置"?
-
"distutils.cfg"用于什么?
对于
-U
,它意味着什么? -
-
如果我想将scikit learn安装到我的系统默认目录中,我应该执行什么命令?是吗
pip install scikit-learn
首先,您肯定应该升级pip
,因为当前版本是6.1.1。运行
pip install --upgrade pip
这样做。我不一定相信man pip
的话,因为它可能是pip
的古老版本。相反,请使用此处的文档。
CCD_ 11和CCD_。CCD_ 13是分离的。
您不需要担心prefix
或distutils.cfg
。如果你有它们,你就会知道,因为这是你必须手动设置的东西。所以,试着运行
pip install scikit-learn -U --user
升级pip
后,希望一切顺利。
如果您在Linux或Unix系统(如OS X)上,或者您在Windows上安装了GNU命令行工具,并且您希望pip
升级所有包,则此命令应在bash:中工作
pip list | awk '{print $1}' | while read -r package; do sudo -H pip install -U "$package"; done
pip list
打印出每个安装包的名称和版本(至少在我的Ubuntu 14.10系统上,它包括所有安装的系统或pip
),以及括号中的版本号。awk '{print $1}'
在空白处拆分每一行,并返回第一个字段(包名称)。while
循环读取每个传入行(包名称)并调用sudo -H pip install -U packagename
,它会查看包是否是最新的,如果不是,它会升级它。我假设像Ubuntu安装的系统包这样的系统包不会升级,因为它们没有在PyPI中列出,但我在发现之前就终止了命令。
一个选项是安装Anaconda,这将使您能够轻松安装scikit learn