DoITgrow

[오류 해결] konlpy 패키지 import 에러 (AttributeError: module 'tweepy' has no attribute 'StreamListener') 본문

딥러닝 & 머신러닝/자연어 처리 (Natural Language Processing)

[오류 해결] konlpy 패키지 import 에러 (AttributeError: module 'tweepy' has no attribute 'StreamListener')

김수성 (Kim SuSung) 2021. 11. 2. 16:16
반응형

자연어 처리를 할 때 문장을 단어로 나누고, 형태소 분석을 하는 등 다양한 전처리 작업이 필요하다. 영어를 자연어 처리할 때에는 nltk 패키지를 가장 많이 사용하며, 한국어를 처리할 때에는 konlpy를 대표적으로 사용할 수 있다. 

그러나 컴퓨터 운영체제마다 설정하는 방법도 다르고, 패키지 간 버전이 맞지 않는 등 다양한 오류를 접할 수 있다.

 

오늘은 konlpy 패키지를 불러올 때, 아래와 같은 에러 메세지가 발생하는 경우의 해결 방법을 포스팅하고자 한다.

import konlpy
>> AttributeError: module 'tweepy' has no attribute 'StreamListener'

해결 방법

위와 같은 오류 메시지가 발생하는 이유는 자세히 모듈을 뜯어보진 않았지만 konlpy 패키지가 tweepy 패키지에 포함된 StreamListener 클래스를 사용하고 있는데 이것을 불러오는데 문제가 생겼다는 것이다.

 

그럼 오류가 발생한 원인을 아래와 같이 2가지 이유를 생각해 볼 수 있다.

1. tweepy 패키지가 설치되지 않았다.

2. tweepy 패키지가 있지만 어떤 이유에서 인지 StreamListener를 불러오지 못한다.

 

먼저 tweepy 패키지가 설치되지 않았는지 확인하기 위해 아래와 같이 코드를 실행해 보았는데 잘 실행되는 것을 보고, 두번째 문제로 작동이 되지 않는구나라고 생각을 하였다.

import tweepy

print(tweepy.__version__)
>> 4.10.0

그래서 tweepy 패키지 설명에 관한 웹사이트를 방문하여 StreamListener 클래스를 검색해 보았다.

이런 StreamListener 클래스가 Tweepy 버전 4부터 Stream 이란 클래스로 통합이 되었다고 한다.

그러면 konlpy를 업데이트 하던가 해야 하는데 그건 내가 할 수 없으니 Tweepy 버전을 3으로 낮춰봐야 겠다고 생각했다. 그래서 아래와 같이 "version 3" 이라 검색하니 버전 3의 가장 최신 버전이 3.10.0 임을 확인할 수 있었다.

그래서 아래와 같이 tweepy 패키지의 버전을 낮춘 후, konlpy 패키지를 불러오니 잘 실행되는 것을 볼 수 있다!

pip install tweepy==3.10.0

 

본 포스팅에서 해결 방법만 포스팅하지 않고, 과정을 모두 작성한 이유는 나와 같은 코린이 분들에게 문제해결 과정을 보여주고 싶어서다. 코딩을 하다보면 항상 문제가 발생하는데 해결하는 방법을 찾는 습관을 갖는 것이 중요한 것 같다는 생각으로 길게 포스팅을 해보았다.

반응형
Comments