TL,DR :在Spyder中运行时,python文件会遇到 UnicodeDecodeError ,但是当我在命令行中运行它时,它会起作用。
我下载了一个包含后缀树的C实现的Python module。在构建之后,它在Spyder中运行但是我得到以下错误:
RUNFILE(' F:/src/suffix_tree-2.1/build/lib.win32-2.7/suffix_tree.py' ;, WDIR =' F:/src/suffix_tree-2.1/build/lib.win32-2.7') 回溯(最近一次调用最后一次):
文件 " G:\ IDE \蟒\阿纳康达\ lib中\站点包\ IPython的\芯\ interactiveshell.py&#34 ;, 第3052行,在run_code中 self.showtraceback()
文件 " G:\ IDE \蟒\阿纳康达\ lib中\站点包\ IPython的\芯\ interactiveshell.py&#34 ;, 1851年,在showtraceback value,tb,tb_offset = tb_offset)
文件 " G:\ IDE \蟒\阿纳康达\ lib中\站点包\ IPython的\芯\ ultratb.py&#34 ;, 第1240行,在structured_traceback中 self,etype,value,tb,tb_offset,number_of_lines_of_context)
文件 " G:\ IDE \蟒\阿纳康达\ lib中\站点包\ IPython的\芯\ ultratb.py&#34 ;, 第1157行,在structured_traceback中 self,etype,value,elist,tb_offset,number_of_lines_of_context
文件 " G:\ IDE \蟒\阿纳康达\ lib中\站点包\ IPython的\芯\ ultratb.py&#34 ;, 第511行,在structured_traceback中 lines ='' .join(self._format_exception_only(etype,value))
文件 " G:\ IDE \蟒\阿纳康达\ lib中\站点包\ IPython的\芯\ ultratb.py&#34 ;, 第623行,在_format_exception_only中 Colors.Normal,s))
UnicodeDecodeError:' ascii'编解码器不能将字节0xb2解码到位 20:序数不在范围内(128)
在导入_suffix_tree.pyd之后,即使在执行任何其他操作之前,也会出现此错误。
但是,如果我在命令行(cmd)中运行该文件,它将成功运行而不会出现任何错误。
PS:我使用的是Windows,我的用户名是ASCII字符。
答案 0 :(得分:1)
您可能正在尝试打开以不同格式编码的文件,您应该检查它并使用以下命令设置Spyder。
import sys
reload(sys)
sys.setdefaultencoding('utf8')
如果这不起作用,请检查程序的Python内核版本。您可以尝试在Spyder 2中运行Python 3代码。