반응형
아나콘다 프롬프트에서 python
을 입력하여, 파이썬 인터프리터로 진입하려 하였을 때, 아래와 같은 UnicodeDecodeError
가 발생했다. 인터프리터 진입시마다 에러 메시지가 발생하여 꺼림직해서, 검색을 해서 해결책을 찾아봤다.
에러메시지를 보면, read_history_file
함수 안에서 파일을 open
하는 부분에서 에러가 발생하는 것이었다. 스택오버플로우의 한 질문답변에서 원인을 찾았다.
%USERPROFILE%/.python_history
( C:\Users\username\.python_history
) 파일(윈도우 환경임. 다른 운영체제는 위치가 다를 것.)에 파이썬 인터프리터 명령이 저장되어 있는데, 이 파일에 한글등이 포함되어 있으면, 파일을 읽는 과정에서 UnicodeDecodeError
가 발생하는 것이다.
따라서, 간단한 해결책은 .python_history
파일을 지워버리는 것이다. 이전에 입력했던 히스토리가 필요하다면, open
에 인코딩옵션을 주도록 수동으로 수정해서 사용하면 될 것 같다.
Python 3.6.8 |Anaconda, Inc.| (default, Feb 21 2019, 18:30:04) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
Failed calling sys.__interactivehook__
Traceback (most recent call last):
File "C:\PROGRAMS\Anaconda3\envs\ta3\lib\site.py", line 410, in register_readline
readline.read_history_file(history)
File "C:\PROGRAMS\Anaconda3\envs\ta3\lib\site-packages\pyreadline\rlmain.py", line 165, in read_history_file
self.mode._history.read_history_file(filename)
File "C:\PROGRAMS\Anaconda3\envs\ta3\lib\site-packages\pyreadline\lineeditor\history.py", line 82, in read_history_file
for line in open(filename, 'r'):
UnicodeDecodeError: 'cp949' codec can't decode byte 0xec in position 58: illegal multibyte sequence
728x90
'프로그래밍 > Python' 카테고리의 다른 글
[Python|Jupyter] 노트북(.ipynb)을 nbconvert 로 html 로 변환하다 UnicodeDecodeError 가 발생하였다. (0) | 2019.06.25 |
---|---|
이등변직각삼각형 이등분각 무한급수 (0) | 2019.06.19 |
[Python|OPENAPI] 기상청 기상관측 자료 OPENAPI requests 샘플코드 (0) | 2019.06.10 |
pandas 의 read_excel 읽기 속도를 좀 더 빠르게 하는 방법 (1) | 2019.05.21 |
[Anaconda] jupyter notebook 500 internal error (4) | 2019.03.15 |