【问题标题】:Spyder - Python - UnicodeDecodeError: 'ascii' codec can't decodeSpyder - Python - UnicodeDecodeError:'ascii'编解码器无法解码
【发布时间】:2015-11-06 18:51:59
【问题描述】:

TL, DR:python 文件在 Spyder 中运行时遇到 UnicodeDecodeError,但在我在命令行中运行时可以正常工作。


我下载了一个 Python module,它包装了一个后缀树的 C 实现。构建后,它在 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(最近一次调用最后一次):

文件 "G:\IDE\python\Anaconda\lib\site-packages\IPython\core\interactiveshell.py", 第 3052 行,在 run_code self.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", 第 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 中 行 = ''.join(self._format_exception_only(etype, value))

文件 "G:\IDE\python\Anaconda\lib\site-packages\IPython\core\ultratb.py", 第 623 行,在 _format_exception_only 颜色。正常,s))

UnicodeDecodeError: 'ascii' 编解码器无法在位置解码字节 0xb2 20:序数不在范围内(128)

这个错误出现在我导入 _suffix_tree.pyd 之后,甚至在任何其他操作之前。

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

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

【问题讨论】:

  • 不知道这是否有帮助,可能没有,但您是否尝试将 # -- coding: utf-8 -- 放在文件的最顶部(之前进口)?
  • 不幸的是,它没有。 :-(
  • 我有a similar problem(我的用户名有口音)。我用Anaconda3解决了。
  • 谢谢@clemtoy。我认为这是 Spyder 中的一个问题,因为我的文件在 PyCharm 中工作。我也会尝试 Anaconda3。

标签: python spyder


【解决方案1】:

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

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

如果这不起作用,请检查程序的 Python 内核版本。您可能会在尝试在 Spyder 2 中运行 Python 3 代码时收到此消息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-26
    • 2013-08-20
    • 2014-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-09
    相关资源
    最近更新 更多