python gTTS RuntimeError: Unable to get language list: 'NoneType' object is not subscriptable

python gTTS RuntimeError: Unable to get language list: 'NoneType' object is not subscriptable

我见过有关此类错误的问题,但它与 gTTS.

无关

我用了gTTSmodule.One天,突然出现这个错误happened.Yes,我从昨天导入it.Until开始就没有处理过这些代码,这个错误没有'不会发生。

当我执行这段代码时发生了:

代码

sounditems = [i for i in gtts.lang.tts_langs().values()]

错误

RuntimeError: Unable to get language list: 'NoneType' object is not subscriptable

In [1]: import gtts

In [2]: gtts.lang
Out[2]: <module 'gtts.lang' from 'C:\Anaconda3\lib\site-packages\gtts\lang.py'>

In [3]: gtts.lang.tts_langs()
Traceback (most recent call last):

  File "<ipython-input-3-53b538afe087>", line 1, in <module>
    gtts.lang.tts_langs()

  File "C:\Anaconda3\lib\site-packages\gtts\lang.py", line 41, in tts_langs
    raise RuntimeError("Unable to get language list: %s" % str(e))

RuntimeError: Unable to get language list: 'NoneType' object is not subscriptable

gTTS 版本

编辑器

In [7]: spyder.version_info
Out[7]: (3, 2, 8)

语言

python 3.6.5

搜索后

我在 gTTS lang module.I 中调查过,认为无法从 Google.Perhaps 获取信息,这可能不是客户端的问题。

已添加

在研究了lang.py模块后,我发现错误的来源是它的_fetch_langs()函数&它似乎没有执行soup.find(src=re.compile(JS_FILE))['src']

--结果

--长html码--

尝试更新您的 gTTS 模块:"pip3 install -U gTTS" 在您的虚拟环境中...

升级为我解决了这个问题,但不得不强制重新安装 pip install --upgrade --force-reinstall gtts

gTTS 2.0.3 已经发布。

我按照 John D. 重新安装了 gTTS 模块,并更新了 lang.py

我重写了我的原始代码

gtts.lang.tts_langs()

gtts.tts.tts_langs()

我可以解决问题。

这不是我问题的镜像答案,但我很满意。 gtts模块好像以后可以更新,现在正在开发中。 我没有理由坚持 gTTS 2.0.1