运行 Google Cloud Datalab 中的 sklearn 0.17

Running sklearn 0.17 in Google Cloud Datalab

我正在尝试在 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']

我错过了什么?

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

推荐的解决方案是在 Datalab github project to request that a package be updated. In the meantime, try to work with the existing library. For scikit-learn, there is already an open issue on github (#771). Based on the response in the link, I expect that the next release of Datalab will have scikit-learn version 0.17 or newer. There should be a release soon. Check here 中打开一个问题以获取发布信息。

如果您想临时安装较新的版本用于测试目的,那么您可以尝试使用无依赖项选项 (--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 使用的包直接相关的问题。在这种情况下,解决方案可能是还原更新的软件包,看看是否能解决您的问题。