首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BlueMix:无法将更新的sklearn导入到iPython中

问BlueMix:无法将更新的sklearn导入到iPython中
EN

Stack Overflow用户
提问于 2016-01-23 08:53:48
回答 1查看 334关注 0票数 0

我在IBM上运行ipython笔记本,BlueMix的默认版本是版本0.11 --我想升级到sklearn-0.18。

编辑:我的意思是我想升级到sklearn-0.17。

代码语言:javascript
复制
import sklearn
print sklearn.__version__

​0.11

BlueMix文档说要使用:

代码语言:javascript
复制
!pip install -U --user sklearn

下面是输出:

代码语言:javascript
复制
You are using pip version 7.1.0, however version 8.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
Requirement already up-to-date: sklearn in /gpfs/global_fs01/sym_shared/YPProdSpark/user/s3b2-519e0ce881616c-546ab68fb1ed/.local/lib/python2.7/site-packages
Collecting scikit-learn (from sklearn)
  Using cached scikit-learn-0.17.tar.gz
Installing collected packages: scikit-learn
  Running setup.py install for scikit-learn
Successfully installed scikit-learn-0.11

这似乎并不管用。也许这与旧版本的pip有关...

代码语言:javascript
复制
!pip install --upgrade --user pip


You are using pip version 7.1.0, however version 8.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
Collecting pip
  Using cached pip-8.0.2-py2.py3-none-any.whl
Installing collected packages: pip
Successfully installed pip-7.1.0


import pip
print pip.__version__

7.1.0

好的,所以这不仅仅是sklearn。问题似乎是升级后的包没有安装在正确的路径上。

经过一番调查,我发现:

代码语言:javascript
复制
!ls -al ~/.local/lib/python2.7/site-packages

total 0
drwx------  8 s3b2-519e0ce881616c-546ab68fb1ed users 4096 Jan 22 18:06 .
drwx------  3 s3b2-519e0ce881616c-546ab68fb1ed users 4096 Jan 22 15:30 ..
drwxr-xr-x 10 s3b2-519e0ce881616c-546ab68fb1ed users 4096 Jan 22 15:46 pip
drwxr-xr-x  2 s3b2-519e0ce881616c-546ab68fb1ed users 4096 Jan 22 15:53 pip-8.0.1.dist-info
drwxr-xr-x  2 s3b2-519e0ce881616c-546ab68fb1ed users 4096 Jan 22 18:40 pip-8.0.2.dist-info
drwxr-xr-x  2 s3b2-519e0ce881616c-546ab68fb1ed users 4096 Jan 22 18:06 scikit_learn-0.17-py2.7.egg-info
drwxr-xr-x 25 s3b2-519e0ce881616c-546ab68fb1ed users 4096 Jan 22 18:06 sklearn
drwxr-xr-x  2 s3b2-519e0ce881616c-546ab68fb1ed users 4096 Jan 22 15:48 sklearn-0.0-py2.7.egg-info

所以,让我们试试这个……

代码语言:javascript
复制
import sys
sys.path.insert(0, '/gpfs/fs01/user/s3b2-519e0ce881616c-546ab68fb1ed/.local/lib/python2.7/site-packages/')

reload(sklearn)
print sklearn.__version__

​0.17

现在,它的版本看起来是正确的,所以尝试从sklearn-0.17导入一些新函数。

代码语言:javascript
复制
from sklearn.metrics import roc_auc_score


---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-169-8985e3efac9f> in <module>()
----> 1 from sklearn.metrics import roc_auc_score

ImportError: cannot import name roc_auc_score

对于应该是0.17版本的任何东西,我都会得到相同的错误。在尝试导入时,python似乎引用了旧的sklearn版本0.11。

任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

发布于 2016-01-26 03:27:05

问题解决了!

每次我登录时,BlueMix似乎都会将iPython环境初始化为sklearn-0.11。显然,一旦我导入了sklearn版本0.11,使用版本0.17的新路径重新加载sklearn不会有任何改变。

在执行初始导入之前,我需要将路径修改为指向版本0.17,然后初始导入将引用更新后的版本,如下所示...

代码语言:javascript
复制
import sys
sys.path.insert(0, '/gpfs/fs01/user/s3b2-519e0ce881616c-546ab68fb1ed/.local/lib/python2.7/site-packages/')

import sklearn
print sklearn.__version__

0.17

现在,我可以成功地完成以下操作,而不会出现错误:

代码语言:javascript
复制
from sklearn.metrics import roc_auc_score
from sklearn.ensemble import RandomForestClassifier
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34958366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档