我正在尝试在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']
我错过了什么?
答案 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使用的包直接相关的问题。在这种情况下,解决方案可能是还原更新的包,看看是否能解决您的问题。