Как использовать gTTS в Python? - PullRequest
0 голосов
/ 21 сентября 2018

При выполнении приведенного ниже кода

 from gtts import gTTS
 tts = gTTS('hello')
 tts.save('hello.mp3')

я получаю "AttributeError: объект NoneType" не имеет атрибута "группа" ".

Traceback (most recent call last):

File "C:\Users\HP\Desktop\Desktop\programming\Python_code\New Text Document - Copy (8) - Copy.py", line 3, in <module>
    tts.save('hello.mp3')
  File "C:\Users\HP\AppData\Local\Programs\Python\Python36\lib\site-packages\gtts\tts.py", line 247, in save
    self.write_to_fp(f)
  File "C:\Users\HP\AppData\Local\Programs\Python\Python36\lib\site-packages\gtts\tts.py", line 187, in write_to_fp
    part_tk = self.token.calculate_token(part)
  File "C:\Users\HP\AppData\Local\Programs\Python\Python36\lib\site-packages\gtts_token\gtts_token.py", line 28, in calculate_token
    seed = self._get_token_key()
  File "C:\Users\HP\AppData\Local\Programs\Python\Python36\lib\site-packages\gtts_token\gtts_token.py", line 62, in _get_token_key
    a = re.search("a\\\\x3d(-?\d+);", tkk_expr).group(1)
AttributeError: 'NoneType' object has no attribute 'group'

Возможно ли использовать gTTSв Python?

Ответы [ 3 ]

0 голосов
/ 21 сентября 2018

Есть официальное исправление.Это было связано с восходящей зависимостью gtts, gtts-token .Это исправлено в gtts-token == 1.1.2

Моя проблема была исправлена ​​после новой установки gtts и gtts-token.

Соответствующая проблема github в gtts можетможно найти здесь .Удивительно, эта проблема была исправлена ​​за 12 часов.Слава богам с открытым исходным кодом!: D

0 голосов
/ 11 декабря 2018

Просто удалите оба gtts-token и gtts и установите их снова.

pip uninstall gtts-token
pip uninstall gtts
pip install gtts-token
pip install gtts
0 голосов
/ 21 сентября 2018

Я проверил код в строке 64 файла gtts_token.py и попытался print(a), но он показывает «NoneType».

Я исправил эту ошибку в строке 64:

# bug
# a = re.search(“a\\\\x3d(-?\d+);”, tkk_expr).group(1)
# b = re.search(“b\\\\x3d(-?\d+);”, tkk_expr).group(1)

# debug
tkk = tkk_expr.replace(“\’”, “”).split(“;”)[0].split(“=”)[1]
a = tkk.split(“.”)[0]
b = tkk.split(“.”)[1]
...