조이 생각

반응형

 

에러를 먼저 살펴보자.

 

더보기

Traceback (most recent call last):
  File "D:\IDE\Anaconda3\envs\aiCluster01\lib\site.py", line 439, in register_readline
    readline.read_history_file(history)
  File "D:\IDE\Anaconda3\envs\aiCluster01\lib\site-packages\pyreadline\rlmain.py", line 165, in
    read_history_file self.mode._history.read_history_file(filename)
  File "D:\IDE\Anaconda3\envs\aiCluster01\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 0xad in position 643: illegal multibyte sequence

 

pycharm Terminal에서 python 인터프리터 실행시 발생한 에러 화면

 

 

site.py, rlmain.py, history.py 세 군데에서 에러가 체인으로 발생했고, 

 

가장 근본 원인이 되는 곳은 맨 마지막 파일의 read_history_file 함수의 open(filename, 'r') 이다.

 

즉, 히스토리 파일을 읽는데 에러가 난것이다.

 

 

히스토리 파일에는 기존에 python 인터프리터의 명령어들이 저장되어있는데,

 

한글이 포함되어 있으면 파일을 읽을 때 UnicodeDecodeError가 발생하게 되는 것!

 

 

해결방법은 간단하다.

 

.python_history 파일 삭제

 

 

히스토리 파일은 어디 있을까?  보통 C:/Users/유저명 아래에 있다.

 

 

 

 

이 파일을 찾는 방법은,

 

 

 ▶ 에러가 난 원인 파일과 해당 라인을 본다. 

 

 

 

 

self.history_filename 에 읽는 파일 위치가 저장되어 있을 것이다.

 

ctrl + f 로 self.history_filename 를 검색하다 보면

 

 

 

위치만 보면 '~/' = 'C:/Users/유저명' 인 것을 알 수 있고,

 

파일 명은 다른데 (코드 = .history, 실제 가진 파일 = .python_history) 자동으로 처리되는건지.. 

 

모르겠돠....

 

 

 

아무튼 위치를 이렇게 알아 냈고, 

 

해당 파일을 삭제하니 에러 없이 잘 실행되었다.

 

 

 

 

사실 에러가 떠도 python 인터프리터는 사용할 수 있더라.

 

그냥 에러 뜬다는 자체가 자꾸 신경쓰일 뿐...

 

 

 

이 글이 도움이 되셨다면 아래 하트(공감) 부탁드립니다 :)

반응형

이 글을 공유합시다

facebook twitter kakaoTalk kakaostory naver band
loading