본문 바로가기
CS

[CS] gensim ImportError

by dong_seok 2024. 5. 3.
1. 가상 환경 생성
2. 문제 발생 및 해결 과정

 

오늘은 패스트캠퍼스 강의 영상을 보며 공부하다가 gensim 패키지를 설치하면서 발생했던 ImportError 와 해결과정에 대해 다뤄보도록 하겠습니다.

 

1. 가상 환경 생성

vscode 환경에서 진행했는데 평소에는 "python -m venv" 명령어를 사용하여 가상 환경을 만들었지만, 최근에 강의를 통해 conda를 사용하여 가상 환경을 만드는 방법을 배웠습니다. 강의에서는 "conda create -n 가상 환경 디렉토리명 python=버전" 명령어를 사용하여 가상 환경을 생성하는 것을 보여줬는데, 이 방법을 따라해봤습니다. 큰 문제 없이 가상 환경이 만들어졌고 다음 단계로 이어갔습니다. conda를 이용한 가상 환경 관련 명령어는 다음과 같습니다.

 

가상환경 실행하기

conda activate 가상 환경 디렉토리명

 

가상환경에서 나가기

conda deactivate

 

가상환경 지우기

conda remove -n 가상 환경 디렉토리명 --all

 

가상 환경 생성 위치

/Users/administrator/anaconda3/envs

 

정상적으로 가상환경이 만들어졌고 vscode의 우측 상단에 위치한 커널을 방금 생성한 가상 환경으로 변경해주었습니다. 이어서 Word2Vec을 import 하기 위해 gensim 패키지를 설치해야했고 여기서 문제가 발생하였습니다.

 

2. 문제 발생 및 해결 과정

 

"cannot import name 'remove_stopword_tokens' from 'gensim.parsing.preprocessing'" 라고 적힌 import 오류가 발생하여서 서치를 해보니 gensim 패키지별 사용 가능한 python 버전이 다르다는 것을 알게 됐고, 해결 방법으로 많이 사용 된 python 3.8 버전 으로 재설치하고 실행해 보았습니다.

 

 

다른 ImportError가 발생하였습니다. 이 에러를 해결 했는데도 다른 ImportError의 발생이 반복 됐고 해결 방법을 찾지 못하고 있었습니다. 그러다가 강의니까 강의 자료에 패키지별 버전 txt 파일이 있다는 사실을 인지해서 "pip install -r requirements2.txt" 을 이용해서 패키지를 정해진 버전별로 모두 설치하였습니다.

 

 

정상적으로 설치가 잘 되는가 싶었는데 이런 사진과 같은 에러가 발생했고 결국 원인을 다시 찾아보기로 했습니다. 그러다 python 버전을 바꿔가면서 가상환경을 만들어 사용하려는 gensim 패키지에 알맞은 python 버전을 찾으면 실행이 잘 되지 않을까? 라는 생각이 들었고 여러 버전을 바꿔가며 여러번 실행해 보았습니다. 마침내 gensim 3.4 and python 3.10.14 를 설치하니까 패키지가 정상적으로 설치 됐고 코드도 잘 작동하는 모습을 볼 수 있었습니다! 사실 gensim 패키지별 python 버전을 좀 열심히 찾아보면 인터넷에서 찾을 수 있을것 같았지만 이게 정확한 원인인지 확실하지 않고 이상하게 오기가 생겨서 혼자 해결하려고 했던 것 같습니다. 막상 해결하고나니 허무함이 남았지만 드디어 오류를 해결하고 강의 진도를 나갈 수 있다는 생각에 한편으로 좋았습니다 :) 

 

참고자료

https://coding-nurse.tistory.com/230

https://sophiesien.tistory.com/entry/%EB%AA%85%EB%A0%B9%ED%94%84%EB%A1%AC%ED%94%84%ED%8A%B8%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%9C-%EC%95%84%EB%82%98%EC%BD%98%EB%8B%A4-%ED%8C%A8%ED%82%A4%EC%A7%80-%EC%84%A4%EC%B9%98-%EC%97%90%EB%9F%AC%EB%AC%B8%EC%A0%9C

https://studying-modory.tistory.com/entry/PowerShell-base-%EA%B8%B0%EB%B3%B8-%EC%8B%A4%ED%96%89-%EC%84%A4%EC%A0%95-PowerShell-%EC%8B%A4%ED%96%89-%EC%A0%95%EC%B1%85-%EB%B0%94%EA%BE%B8%EA%B8%B0#recentComments

 

'CS' 카테고리의 다른 글

[CS] RAG (Retrieval-Augmented Generation)  (0) 2024.03.25
[CS] CRLF vs LF  (2) 2024.02.20

댓글