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"选项。

 
posted @   码客风云  阅读(4547)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· .NET Core 中如何实现缓存的预热?
· 三行代码完成国际化适配,妙~啊~
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?

喜欢请打赏

扫描二维码打赏

支付宝打赏

点击右上角即可分享
微信分享提示