Jupyter Notebook导入第三方包时出现UnicodeDecodeError报错怎么解决?
报错原因说明
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb8 in position 3200: invalid start byte
该报错核心原因为Python运行环境的路径(包括系统用户名、Python/conda安装路径、Jupyter工作路径)包含中文、特殊符号等非ASCII字符,第三方库读取配置文件时默认用UTF-8解码失败。
解决方法
- 临时测试方案
按下Win+R输入cmd打开命令提示符,依次执行以下命令启动Jupyter,验证是否可以正常导入库:
若可以正常导入,说明确为编码配置问题,可按后续方案永久修复。set PYTHONUTF8=1 jupyter notebook - 永久修复方案1:修改系统环境变量
- 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
- 在「用户变量」栏点击「新建」,变量名填
PYTHONUTF8,变量值填1 - 再次点击「新建」,变量名填
MPLCONFIGDIR,变量值填一个纯英文路径(例如C:\mpl_config) - 保存后重启电脑即可生效
- 永久修复方案2:调整路径配置
若不想修改系统环境变量,可卸载当前Python/conda环境,重新安装到纯英文无特殊字符的路径下(不要放在中文用户名的桌面、文档等文件夹内),同时确认Windows登录用户名是纯英文。 - 单次运行临时修复
如果仅临时需要运行代码,可在Jupyter单元格最顶部先执行以下代码,再导入第三方库:import os os.environ['PYTHONUTF8'] = '1' os.environ['MPLCONFIGDIR'] = os.getcwd()
内容的提问来源于stack exchange,提问作者Kayti
相关产品推荐
相关产品推荐

