Spyder-Python-UnicodeCodeError:';ascii';编解码器可以';破译
TL,DR:python文件在Spyder中运行时会遇到UnicodeDecodeError,但在命令行中运行时会正常工作Spyder-Python-UnicodeCodeError:';ascii';编解码器可以';破译,python,spyder,Python,Spyder,TL,DR:python文件在Spyder中运行时会遇到UnicodeDecodeError,但在命令行中运行时会正常工作 我下载了一个Python,它封装了后缀树的C实现。构建后,它在Spyder中运行,但我得到以下错误: 运行文件('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') 回溯(最近一次呼叫最后一次): 文件
我下载了一个Python,它封装了后缀树的C实现。构建后,它在Spyder中运行,但我得到以下错误: 运行文件('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\python\Anaconda\lib\site packages\IPython\core\interactiveshell.py”, 运行代码中的第3052行 self.showtraceback() 文件 “G:\IDE\python\Anaconda\lib\site packages\IPython\core\interactiveshell.py”, 第1851行,在showtraceback中 值,tb,tb\U偏移=tb\U偏移) 文件 “G:\IDE\python\Anaconda\lib\site packages\IPython\core\ultratb.py”, 第1240行,在结构化_回溯中 self、etype、value、tb、tb\u偏移量、行数(上下文) 文件 “G:\IDE\python\Anaconda\lib\site packages\IPython\core\ultratb.py”, 第1157行,在结构化_回溯中 self、etype、value、elist、tb\u偏移量、行数\u上下文 文件 “G:\IDE\python\Anaconda\lib\site packages\IPython\core\ultratb.py”, 第511行,在结构化_回溯中 行=“”.join(self.\u格式\u例外\u仅(etype,value)) 文件 “G:\IDE\python\Anaconda\lib\site packages\IPython\core\ultratb.py”, 第623行,仅为_格式_例外 颜色。正常,s) UnicodeDecodeError:“ascii”编解码器无法解码位置中的字节0xb2 20:序号不在范围内(128) 此错误在导入_suffix_tree.pyd之后立即出现,甚至在任何其他操作之前 但是,如果我在命令行(cmd)中运行该文件,它将成功运行,不会出现任何错误
PS:我使用Windows,我的用户名是ASCII字符。您可能试图打开一个以不同系统格式编码的文件,您应该检查它并使用下面的命令设置Spyder
import sys
reload(sys)
sys.setdefaultencoding('utf8')
如果这不起作用,请检查程序的Python内核版本。您尝试在Spyder 2中运行Python 3代码时会收到此消息。不知道这是否有帮助,可能没有,但您是否尝试过将#--coding:utf-8--放在文件的最顶端(导入之前)?不幸的是,没有-(我有(我的用户名有口音)。我用Anaconda3解决了这个问题。谢谢@clemtoy。我认为这在Spyder中是个问题,因为我的文件在PyCharm中工作。我也会尝试Anaconda3。