首页 文章

Spyder - Python - UnicodeDecodeError:'ascii'编解码器无法解码

提问于
浏览
2

TL, DR :python文件在Spyder中运行时遇到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')Traceback(大多数)最近调用last):文件“G:\ IDE \ python \ Anaconda \ lib \ site-packages \ IPython \ core \ interactiveshell.py”,第3052行,在run_code中自执.showtraceback()文件“G:\ IDE \ python \ Anaconda \ lib \ site-packages \ IPython \ core \ interactiveshell.py“,第1851行,showtraceback值,tb,tb_offset = tb_offset)文件”G:\ IDE \ python \ Anaconda \ lib \ site-packages \ IPython \ core \ ultratb.py“,第1240行,在structured_traceback self,etype,value,tb,tb_offset,number_of_lines_of_context)文件”G:\ IDE \ python \ Anaconda \ lib \ site-packages \ IPython \ core \ ultratb.py“,line 1157,在structured_traceback self,etype,value,elist,tb_offset,number_of_lines_of_context文件“G:\ IDE \ python \ Anaconda \ lib \ site-packages \ IPython \ core \ ultratb.py”,第511行,在structured_traceback lines =''中.join(self._format_exception_only(etype,value))文件“G:\ IDE \ python \ Anaconda \ lib \ site-packages \ IPython \ core \ ultra tb.py“,第623行,在_format_exception_only Colors.Normal,s))UnicodeDecodeError:'ascii'编解码器无法解码位置20的字节0xb2:序号不在范围内(128)

导入_suffix_tree.pyd后,即使在执行任何其他操作之前,也会出现此错误 .

但是,如果我在命令行(cmd)中运行该文件,它可以成功运行而不会出现任何错误 .

PS:我使用的是Windows,我的用户名是ASCII字符 .

1 回答

  • 1

    您可能正在尝试打开以不同格式的系统编码的文件,您应该检查它并使用以下命令设置Spyder .

    import sys  
    reload(sys)  
    sys.setdefaultencoding('utf8')
    

    如果这不起作用,请检查程序的Python内核版本 . 您可以尝试在Spyder 2中运行Python 3代码 .

相关问题