쥬니어 분석가

[Error] 파이썬 pyLDAvis.gensim 오류 본문

python

[Error] 파이썬 pyLDAvis.gensim 오류

jyuuni 2023. 11. 29. 15:10
반응형

요즘 버전을 다운 받으면 아래와 같은 오류가 안뜨겠지만 나는 파이썬 버전 문제인지 gensim 버전 문제인지

import pyLDAvis.gensim_models 자체가 되지 않았다.

 

gensim_models은 최신 업데이트 버전이고, 나는 최신 버전이 실행이 안되서 

import pyLDAvis.gensim 로 불러오니 1차적으로 import는 되었지만

아래와 같은 오류가 발생했다.

 

UnicodeEncodeError: 'ascii' codec can't encode characters in position 18-23: ordinal not in range(128)

 

C:\Anaconda3\lib\site-packages\joblib\externals\loky\backend\resource_tracker.py in _send(self, cmd, name, rtype)
    202 
    203     def _send(self, cmd, name, rtype):
--> 204         msg = '{0}:{1}:{2}\n'.format(cmd, name, rtype).encode('ascii')
    205         if len(name) > 512:
    206             # posix guarantees that writes to a pipe of less than PIPE_BUF
    UnicodeEncodeError: 'ascii' codec can't encode characters in position 18-23: ordinal not in range(128)

 

시각화 코드를 실행하는 과정에서 자꾸 위와 같은 오류가 떠서 구글링을 해보니 최신 gensim 버전에서는 문제가 없지만 내가 구버전을 써서.. 인코딩이 잘 안먹히는 것 같았다.

msg = '{0}:{1}:{2}\n'.format(cmd, name, rtype).encode('utf-8')

 

위 코드 부분에서 인코딩 형식을 utf-8로 바꿔주면 바로 해결이 된다고 해서 노가다로 해결 완료

 

나는 사실 다른 방법은 몰라서

C:\Anaconda3\lib\site-packages\joblib\externals\loky\backend\resource_tracker.py

위 경로를 따라 resource_tracker.py 파일을 찾은 후

인코딩 형식을 'ascii'가 아니라 'utf-8'로 변경해주고 주피터에서 새로 restart를 하니 해결이 되었다.

 

다음번에는 처음부터 업그레이드된 버전으로 다운받기를 ..

 

 

반응형