python 升级 scikit-learn 出错 UnicodeDecodeError

博主在Windows 64位环境下,尝试从sklearn 0.14升级到0.18.1时遇到UnicodeDecodeError。通过尝试修改mimetypes.py文件并设置编码为gbk,以及使用easy_install命令,最终成功升级了scikit-learn。文中还提到了pip安装失败可能的原因和网络环境对更新的影响,并分享了尝试使用whl文件更新失败的经验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先介绍博主的环境:

python(x,y)--2.7.6.1    win 64位   

sklearn 0.14 欲 更新至  sklearn 0.18.1


在cmd中尝试运行 pip install -U scikit-learn 

报错:UnicodeDecodeError: 'ascii' codec can't decode byte 0xb5 in position 55: ordinal not in range(128)


首先尝试网上的说法:

打开 C:/Python27/Lib 找到 mimetypes.py 在 import 下面加入三句话:

if sys.getdefaultencoding() != 'gbk':

reload(sys)

sys.setdefaultencoding('gbk')


保存后重新运行 pip install -U scikit-learn 

依然报错:error: No usable temporary directory found in [some directories....]


最后博主使用命令  :  easy_install -U  scikit-learn 解决问题

--------------------------------------------------------------------------------------------------------------------------

1.目前为止未能pip 安装出错的原因,如果有前辈知道,请留言。

2.建议在网络环境较好的地方更新,因为在线更新需要到python 的国外网站下载,因为网络问题有时候也会报一些奇怪的错误

3.博主也曾尝试使用 whl 更新, 但每次报错 : whl is not supported wheel on this platform (已确定下载的是64位win版本, 也尝试过32位win版本)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值