【问题标题】:Installing scikit-learn 0.15 (Python)安装 scikit-learn 0.15 (Python)
【发布时间】:2014-06-05 14:05:15
【问题描述】:

我目前使用的是 scikit-learn 0.14.1,它是使用 pip 安装的。我正在运行 Python 版本 2.7.6(64 位),使用 Canopy Enthought 作为我的 IDE。我的操作系统是 OSX 10.9.2

目前,我正在尝试安装 scikit-learn 0.15。我将存储库克隆到我的主目录中,cd 到其中,然后在命令行中键入“python setup.py install”。

我收到一条错误消息:

error: could not delete '/Users/*****/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/sklearn/__check_build/__init__.py': Permission denied

有人对我应该如何安装 scikit-learn 0.15 有任何建议吗?我应该将目录克隆到 /Users/*****/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/ 吗?

非常感谢!

【问题讨论】:

  • 我这样做了,虽然它似乎已经升级到正确的版本,但我似乎无法导入一堆包。例如,'from sklearn.svm import SVC' 返回以下错误:'cannot import name inplace_column_scale' 有什么建议吗?

标签: python scikit-learn


【解决方案1】:

无需root权限即可安装许多python包(其中scikit-learn)的一种方法是在本地安装

python setup.py install --user

这会将信息写入~/.local

第二个选项是

python setup.py develop

它将编译到位并在/Users/*****/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/ 中放置一个符号链接。您可能需要sudo,并且您可能需要删除旧的sklearn

第三种更明确的方法是自己放置符号链接,这需要手术,但非常本地化使用 sudo 放置链接并删除旧的 scikit learn。

假设你克隆到~/scikit-learn/

cd ~/scikit-learn
make in
cd /Users/*****/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/
sudo mv sklearn sklearn_
sudo ln -s ~/scikit-learn/sklearn sklearn

更多关于installing in generalinstalling the bleeding edge的网站信息

【讨论】:

  • 当然您也可以选择完全删除旧的 sklearn,方法是将 mv 命令替换为 sudo rm sklearn -rf
  • 我做了你建议的前两件事,它完全奏效了。为了避免将软件包分散在各处,然后我将 sklearn 文件夹从克隆的存储库移动到 site-packages/,并删除了 .egg 链接文件。一切似乎都运行良好。这是犹太洁食吗?
  • --user 安装应该可以正常工作而无需复制任何内容。本质上,您似乎所做的是构建 scikit-learn,然后将整个东西移动到 site-packages,这不是正统的做事方式,但如果它有效(请检查导入的 sklearn 的版本以了解初学者)它作品。但是,任何后续更新都必须以这种方式完成。一个简单的 git repo 符号链接就可以连续更新,而无需每次都复制。
  • 谢谢,艾肯伯格。我想我可能应该刚刚将 repo 克隆到站点包中,并在站点包目录中执行 --user 安装。我只是不希望克隆的 repo 位于我的主目录中。
猜你喜欢
  • 1970-01-01
  • 2017-08-30
  • 1970-01-01
  • 2019-02-03
  • 2014-04-30
  • 2013-09-29
  • 2022-01-17
  • 2014-06-27
  • 1970-01-01
相关资源
最近更新 更多