如何在 python 中使用 gTTS?
How to use gTTS in python?
当执行下面的代码时
from gtts import gTTS
tts = gTTS('hello')
tts.save('hello.mp3')
我得到 "AttributeError: 'NoneType' object has no attribute 'group'"。
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'
是否可以在 Python 中使用 gTTS?
我检查了gtts_token.py第64行的代码,我尝试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]
现在有官方修复。它与 gtts 的上游依赖性有关,gtts-token。它已在 gtts-token==1.1.2
中修复
在我全新安装 gtts 和 gtts-token 后,我的问题得到解决。
可以找到 gtts 中的相关 github 问题 here。令人惊讶的是,这个问题在 12 小时内得到了解决。为开源大神点赞! :D
只需卸载 gtts-token 和 gtts,然后重新安装即可。
pip uninstall gtts-token
pip uninstall gtts
pip install gtts-token
pip install gtts
当执行下面的代码时
from gtts import gTTS
tts = gTTS('hello')
tts.save('hello.mp3')
我得到 "AttributeError: 'NoneType' object has no attribute 'group'"。
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'
是否可以在 Python 中使用 gTTS?
我检查了gtts_token.py第64行的代码,我尝试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]
现在有官方修复。它与 gtts 的上游依赖性有关,gtts-token。它已在 gtts-token==1.1.2
中修复在我全新安装 gtts 和 gtts-token 后,我的问题得到解决。
可以找到 gtts 中的相关 github 问题 here。令人惊讶的是,这个问题在 12 小时内得到了解决。为开源大神点赞! :D
只需卸载 gtts-token 和 gtts,然后重新安装即可。
pip uninstall gtts-token
pip uninstall gtts
pip install gtts-token
pip install gtts