You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python 3.10.8中googletrans库触发AttributeError问题求助

印地语转英语翻译功能AttributeError问题解决

问题概述

编写了集成语音识别与印地语转英语翻译的Python代码,运行翻译模块时触发AttributeError: 'NoneType' object has no attribute 'group',使用Python版本为3.10.8。

原始代码

import speech_recognition as sr
from googletrans import Translator

def Listen():
    r = sr.Recognizer()

    with sr.Microphone() as source:
        print("Listening...")
        r.pause_threshold = 1
        audio = r.listen(source,0,6)

    try:
        print("Regognizing...") 
        query = r.recognize_google(audio, language = "hi")

    except: 
        return ""

    query = str(query).lower()
    return query

def TranslationHintoEng(Text):
    line = str(Text)
    translate = Translator()
    result = translate.translate(line)
    data = result.text
    print(f"You : {data}")
    return data

TranslationHintoEng("कैसा है जारविस मेरी आवाज आ रही है")

报错信息

PS E:\Coding\Python\AI -2\Pyttsx3 Hindi STT> & C:/Users/admin/AppData/Local/Programs/Python/Python310/python.exe "e:/Coding/Python/AI -2/Pyttsx3 Hindi STT/Body/Listen.py"
Traceback (most recent call last):
  File "e:\Coding\Python\AI -2\Pyttsx3 Hindi STT\Body\Listen.py", line 35, in <module>
    TranslationHintoEng("कैसा है जारविस मेरी आवाज आ रही है")
  File "e:\Coding\Python\AI -2\Pyttsx3 Hindi STT\Body\Listen.py", line 30, in TranslationHintoEng
    result = translate.translate(line)
  File "C:\Users\admin\AppData\Local\Programs\Python310\lib\site-packages\googletrans\client.py", line 182, in translate
    data = self._translate(text, dest, src, kwargs)
  File "C:\Users\admin\AppData\Local\Programs\Python310\lib\site-packages\googletrans\client.py", line 78, in _translate
    token = self.token_acquirer.do(text)
  File "C:\Users\admin\AppData\Local\Programs\Python310\lib\site-packages\googletrans\gtoken.py", line 194, in do       
    self._update()
  File "C:\Users\admin\AppData\Local\Programs\Python310\lib\site-packages\googletrans\gtoken.py", line 62, in _update
    code = self.RE_TKK.search(r.text).group(1).replace('var ', '')
AttributeError: 'NoneType' object has no attribute 'group'
PS E:\Coding\Python\AI -2\Pyttsx3 Hindi STT> 

解决方案

该错误源于googletrans最新版本的Token获取机制失效,Google翻译接口更新后,旧版逻辑无法匹配新的页面结构。提供两种修复方案:

方案1:降级到稳定版googletrans

卸载当前版本并安装4.0.0-rc1版本,该版本适配了当时的Google翻译接口:

pip uninstall googletrans -y
pip install googletrans==4.0.0-rc1

替换后重新运行代码即可正常翻译。

方案2:使用官方Google Cloud Translation API

若需要长期稳定的翻译服务,推荐使用Google官方提供的Translation API(需注册Google Cloud账号并启用对应服务,配置API密钥):

from google.cloud import translate_v2 as translate

def TranslationHintoEng(Text):
    # 初始化翻译客户端,可通过环境变量或密钥文件配置认证
    translate_client = translate.Client()
    # 指定源语言为印地语(hi),目标语言为英语(en)
    result = translate_client.translate(Text, target_language='en', source_language='hi')
    data = result['translatedText']
    print(f"You : {data}")
    return data

TranslationHintoEng("कैसा है जारविस मेरी आवाज आ रही है")

内容的提问来源于stack exchange,提问作者Aarav Anand

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 11:36:59