0

我正在尝试在 Google Datalab 中使用 sklearn.feature_selection 但是,Datalab 默认安装了 0.16.1 版本。我尝试使用安装 0.17 版

%%bash 
pip install scikit-learn==0.17

这很好用,但是当我运行一个新的代码块时,我仍然得到旧的 sklearn 版本,但路径正确。

>> import sklearn
>> print(sklearn.__version__)
0.16.1
>> print(sklearn.__path__)
['/usr/local/lib/python2.7/dist-packages/sklearn']

现在让我们尝试一个新的 bash 块:

%%bash
pip install scikit-learn==0.17
python -c 'import sklearn; print(sklearn.__version__);print(sklearn.__path__)'
Requirement already satisfied (use --upgrade to upgrade): scikit-learn==0.17 in /usr/local/lib/python2.7/dist-packages
Cleaning up...
0.17
['/usr/local/lib/python2.7/dist-packages/sklearn']

我错过了什么?

4

1 回答 1

1

不建议更新默认安装在 Datalab 中的包。这是为了确保您不会破坏正常工作的 Datalab 环境。

推荐的解决方案是在Datalab github 项目中打开一个问题以请求更新包。同时,尝试使用现有的库。对于 scikit-learn,github 上已经有一个未解决的问题(#771)。根据链接中的响应,我预计 Datalab 的下一个版本将具有 scikit-learn 版本 0.17 或更高版本。应该很快就会发布。在这里查看发布信息。

如果您想临时安装较新版本以进行测试,则可以尝试使用无依赖选项 ( --no-deps) 安装它,以减少破坏工作数据实验室环境的机会。

%%bash
pip install scikit-learn==0.17 --ignore-installed --no-deps

运行上述命令后,我可以看到 scikit-learn 的版本为 0.17。

>> sklearn.__version__
'0.17'


>>!pip show scikit-learn
---
Name: scikit-learn
Version: 0.17
Location: /usr/local/lib/python2.7/dist-packages
Requires: 

既然您已经更新了 datalab 使用的包,请留意任何异常情况。例如,某些示例笔记本可能无法正常工作。另外,请注意,可能不支持此设置。例如,您可能会遇到与更新 datalab 使用的包直接相关的问题。在这种情况下,解决方案可能是恢复更新的包,看看是否能解决您的问题。

于 2016-04-18T12:56:59.227 回答