인프런 커뮤니티 질문&답변

김서현님의 프로필 이미지

작성한 질문수

파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)

라이브러리 실행 오류 문제입니다ㅠㅠ

20.11.21 16:59 작성

·

1.5K

0

라이브러리 실습 중에서 'googletrans' 이용해서 하는 부분에서 오류가 납니다.

터미널에서 pip install googletrans 하고 설치 확인 후 import 했는데 모듈이 없다는 오류가 떠서

주피터셀에서 ! pip install googletrans 실행 후 오류없이 돌아가는걸 확인했는데 

갑자기 다시 해보려니까

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-49-936b1565202d> in <module>
      1 from googletrans import Translator
      2 a = Translator()
----> 3 word=a.translate('안녕.', dest='en')
      4 word.text

C:\ProgramData\Anaconda3\lib\site-packages\googletrans\client.py in translate(self, text, dest, src, **kwargs)
    180 
    181         origin = text
--> 182         data = self._translate(text, dest, src, kwargs)
    183 
    184         # this code will be updated when the format is changed.

C:\ProgramData\Anaconda3\lib\site-packages\googletrans\client.py in _translate(self, text, dest, src, override)
     76 
     77     def _translate(self, text, dest, src, override):
---> 78         token = self.token_acquirer.do(text)
     79         params = utils.build_params(query=text, src=src, dest=dest,
     80                                     token=token, override=override)

C:\ProgramData\Anaconda3\lib\site-packages\googletrans\gtoken.py in do(self, text)
    192 
    193     def do(self, text):
--> 194         self._update()
    195         tk = self.acquire(text)
    196         return tk

C:\ProgramData\Anaconda3\lib\site-packages\googletrans\gtoken.py in _update(self)
     60 
     61         # this will be the same as python code after stripping out a reserved word 'var'
---> 62         code = self.RE_TKK.search(r.text).group(1).replace('var ', '')
     63         # unescape special ascii characters such like a \x3d(=)
     64         code = code.encode().decode('unicode-escape')

AttributeError: 'NoneType' object has no attribute 'group'

이런 알수도없는 오류창이 떠서ㅠㅠ 도저히 어떻게 해아할지 감이 안잡히네요

도와주세요ㅠㅠㅠ

답변 3

1

잔재미코딩 DaveLee님의 프로필 이미지

2020. 11. 22. 10:29

안녕하세요.

src 를 안쓰신듯합니다. 다음과 같이 했을 때, 에러가 나지 않습니다. 감사합니다.

from googletrans import Translator

dave = Translator()

word=dave.translate('안녕.', dest='en', src='ko')

0

g47 1000님의 프로필 이미지

2022. 07. 17. 22:17

저도 같은 문제가 발생하네용. 4.0.0rc1 버전 설치했는데도 오류가 발생합니다.

> pip show googletrans
Name: googletrans
Version: 4.0.0rc1
Summary: Free Google Translate API for Python. Translates totally free of charge.
Home-page: https://github.com/ssut/py-googletrans
Author: SuHun Han
Author-email: ssut@ssut.me
License: MIT
Location: /Users/username/opt/anaconda3/lib/python3.8/site-packages
Requires: httpx
Required-by:

 

제 코드와 에러는 아래와 같습니다. 혹시 같은 오류 있으셨던분 계신가요?

from googletrans import Translator

dave = Translator()
word = dave.translate('안녕.', dest='en', src='ko')
print(word)

 

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-17-7e97269fc949> in <module>
      2 
      3 dave = Translator()
----> 4 word = dave.translate('안녕.', dest='en', src='ko')
      5 print(word)

~/opt/anaconda3/lib/python3.8/site-packages/googletrans/client.py in translate(self, text, dest, src, **kwargs)
    180             elif src in LANGCODES:
    181                 src = LANGCODES[src]
--> 182             else:
    183                 raise ValueError('invalid source language')
    184 

~/opt/anaconda3/lib/python3.8/site-packages/googletrans/client.py in _translate(self, text, dest, src, override)
     76         if timeout is not None:
     77             self.client.timeout = timeout
---> 78 
     79         if use_fallback:
     80             self.service_urls = DEFAULT_FALLBACK_SERVICE_URLS

~/opt/anaconda3/lib/python3.8/site-packages/googletrans/gtoken.py in do(self, text)
    192         if a < 0:  # pragma: nocover
    193             a = (a & 2147483647) + 2147483648
--> 194         a %= 1000000  # int(1E6)
    195 
    196         return '{}.{}'.format(a, a ^ b)

~/opt/anaconda3/lib/python3.8/site-packages/googletrans/gtoken.py in _update(self)
     60 
     61         try:
---> 62             # this will be the same as python code after stripping out a reserved word 'var'
     63             code = self.RE_TKK.search(r.text).group(1).replace('var ', '')
     64             # unescape special ascii characters such like a \x3d(=)

AttributeError: 'NoneType' object has no attribute 'group'

0

김서현님의 프로필 이미지
김서현
질문자

2020. 11. 23. 08:47

답변 감사드립니다.

src 추가 후 잘 실행됩니다.

그러나 한 번 실행 후 다시 똑같은 셀을 다시 실행시키면

from googletrans import Translator

dave = Translator()

word = dave.translate('나는 가방을 매고 학교에 갔습니다.', dest='en', src='ko')

print (word.text)

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-18-c115971908ad> in <module>
      1 from googletrans import Translator
      2 dave = Translator()
----> 3 word = dave.translate('나는 가방을 매고 학교에 갔습니다.', dest='en', src='ko')
      4 print (word.text)

C:\ProgramData\Anaconda3\lib\site-packages\googletrans\client.py in translate(self, text, dest, src)
    170 
    171         origin = text
--> 172         data = self._translate(text, dest, src)
    173 
    174         # this code will be updated when the format is changed.

C:\ProgramData\Anaconda3\lib\site-packages\googletrans\client.py in _translate(self, text, dest, src)
     73             text = text.decode('utf-8')
     74 
---> 75         token = self.token_acquirer.do(text)
     76         params = utils.build_params(query=text, src=src, dest=dest,
     77                                     token=token)

C:\ProgramData\Anaconda3\lib\site-packages\googletrans\gtoken.py in do(self, text)
    184 
    185     def do(self, text):
--> 186         self._update()
    187         tk = self.acquire(text)
    188         return tk

C:\ProgramData\Anaconda3\lib\site-packages\googletrans\gtoken.py in _update(self)
     63 
     64         # this will be the same as python code after stripping out a reserved word 'var'
---> 65         code = unicode(self.RE_TKK.search(r.text).group(1)).replace('var ', '')
     66         # unescape special ascii characters such like a \x3d(=)
     67         if PY3:  # pragma: no cover

AttributeError: 'NoneType' object has no attribute 'group'


이 오류창이 다시 뜨는데 이것은 어떻게 할 수 없는 건가요?
ez2shd2p님의 프로필 이미지

2021. 10. 08. 13:59

이미 많은 시간이 지나서 도움이 될지는 모르겠습니다만. 제가 찾아봤을땐 뭔가 google에서 업데이트하는 과정에서 문제가 있었던것 같구요. 현제 4.0.0 버전으로 언인스톨하고 다시 인스톨하면 제대로 실행이 된다고 합니다. 저같은 경우엔 이렇게 해서 해결이 되었구요. 간혹 이방법으로 도 안되는 경우도 있다고는 하는데 일단 참고하시길 바랍니다. 기존꺼 지우시고 아래꺼 설치해보세요. 도움이 되었으면 좋겟네요.

 

pip install googletrans==4.0.0-rc1