Python启动时错误:Failed calling sys.__interactivehook__ (UnicodeDecodeError: 'gbk' codec can't decode byte 0xaf in position 553)
今天,在Anaconda prompt启动python遇到了如下错误:
UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0xaf in position 553: illegal multibyte sequence
看了看出错跟踪,查看了如下位置:
C:\ProgramData\Anaconda3\lib\site.py", line 439
如下图所示,发现是读取history指定的路径的文件出错,于是就通过python看了看
os.path.join(os.path.expanduser(’~’),’.python_history’)的计算所得路径为(注意:???表示电脑用户名,每个人设置不同,请参照自己实际情况):
C:\Users\???\.python_history
打开上述文件,发现是上次关闭之前的python命令记录等,里面有汉字注释,Python的命令窗口的本身编码为来自系统设置的GBK引起的文件存成了gbk编码。如果历史记录对你来说没什么用处,最简单的办法就是删除掉.python_history文件,就可以了。我自己是通过如下方式解决的,操作系统是Windows 10 1803 (April 2018 Update) 以上版本的话,可以"Region" - “Administrative” - “Change system locale” - "Region Settings"中选中 "Beta: Use Unicode UTF-8 for worldwide language support"选项。
作者:MarkKang
本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。