一、问题
pip 时 ‘utf-8’ codec can’t decode byte
在 pip install imread 的过程中遇到了这个问题
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb2 in position 13: invalid start byte
二、思路
一开始查到的各种解决方案都是编码上的问题,后来才发现原来是思路错了。
这个问题其实是因为 from scipy.misc import imread,imwrite 等方法已经被弃用。
Python已经将imread方法封装在了imageio模块当中。
因此方法三解决了我的问题,应该通过imageio模块来调取imread而不再是从scipy.misc中调取。
不过以下还是会提供三个方法
三、解决
1、方法一:版本中已移除该方法(有效)
如果是在以下语句中报错,可能是版本问题,这句调用代码已经被移除
from scipy.misc import imread,imsave
解决方案如下:
# 1.安装 imageio 库
pip install imageio
# 2.在python中
from imageio import imread
# 3.代码中调用方式
imread("xxxx.png")
参考博客:Python中from scipy.misc import imread报错的原因?
2、方法二:降低spicy版本(有效)
pip install scipy==1.2.1
这样也是可以的
3、方法三:修改编码方式
因为 python3 默认编码是unicode;python2是ASCII码;windows环境默认是gbk编码
修改 python安装目录下\Lib\site-packages\pip\compat的_init_.py,搜索 def console_to_str(s) 函数,修改代码为
def console_to_str(s):
try:
return s.decode(sys.__stdout__.encoding)
except UnicodeDecodeError:
# 或者也可以尝试改为 cp936、GB2312、gb18030
return s.decode('gbk')
参考博客:
pip错误:‘utf-8’ codec can’t decode byte解决方法
UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xb2 in position 99: invalid start byte
4、方法四:管理员运行
以管理员身份运行 cmd 或者 Anaconda Prompt
参考博客:Pip安装pyinstaller出现utf-8解码错误
5、其他(未尝试)
如用 Git Bush 命令行安装
Python pip 安装报错;‘utf-8’ codec can’t decode byte 0xce in position 72