下午在写Python程序时突然遇到报错:
This command failed to be executed because an error occurred while trying to get the file code from Spyder's editor. The error was:
An exception has occurred, use %tb to see the full traceback.
UnicodeDecodeError: 'gbk' codec can't decode byte 0x93 in position 582: illegal multibyte sequence
UnicodeDecodeError: 'gbk' codec can't decode byte 0x93 in position 611: illegal multibyte sequence
In [2]: %tb
Traceback (most recent call last):
File "C:\Users\peter\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 401, in get_file_code
return f.read()
UnicodeDecodeError: 'gbk' codec can't decode byte 0x93 in position 582: illegal multibyte sequence
先尝试重启程序,也许报错就解决了
解决方法是根据报错,修改文件C:\Users\peter\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py
为:
def get_file_code(filename):
"""Retrive the content of a file."""
# Get code from spyder
try:
file_code = frontend_request().get_file_code(filename)
except (CommError, TimeoutError):
file_code = None
if file_code is None:
with open(filename, 'r',encoding='utf-8') as f:#增加 ,encoding='utf-8'
return f.read()
return file_code
如果不重启程序,会报错:
[autoreload of spydercustomize failed: Traceback (most recent call last):
File "C:\Users\peter\Anaconda3\lib\site-packages\IPython\extensions\autoreload.py", line 245, in check
superreload(m, reload, self.old_objects)
File "C:\Users\peter\Anaconda3\lib\site-packages\IPython\extensions\autoreload.py", line 394, in superreload
module = reload(module)
File "C:\Users\peter\Anaconda3\lib\imp.py", line 314, in reload
return importlib.reload(module)
File "C:\Users\peter\Anaconda3\lib\importlib\__init__.py", line 168, in reload
raise ModuleNotFoundError(f"spec not found for the module {name!r}", name=name)
ModuleNotFoundError: spec not found for the module 'spydercustomize'
]
This command failed to be executed because an error occurred while trying to get the file code from Spyder's editor. The error was:
An exception has occurred, use %tb to see the full traceback.
UnicodeDecodeError: 'gbk' codec can't decode byte 0x93 in position 582: illegal multibyte sequence
重启sypder后就没有报错了。
文档信息
- 本文作者:last2win
- 本文链接:https://last2win.com/2020/01/05/spyder/
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)