在Google Cloud Datalab中运行sklearn 0.17

时间:2016-04-18 11:04:45

标签: 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']

我错过了什么?

1 个答案:

答案 0 :(得分:1)

建议不要更新默认情况下安装在Datalab中的软件包。这是为了确保您不会破坏有效的Datalab环境。

建议的解决方案是在Datalab github project中打开一个问题,要求更新软件包。在此期间,尝试使用现有的库。对于scikit-learn,github上已经存在一个未解决的问题(#771)。根据链接中的响应,我预计Datalab的下一个版本将有sckit-learn版本0.17或更新版本。应该很快就会发布。检查here以获取发布信息。

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