Python简易翻译器开发报错求助,求解决方案及替代库
问题解决:simple_googletrans 初始化报错
报错原因分析
从报错栈可以看出,simple_googletrans内部初始化googletrans.Translator时,传入的service_url为None,导致gtoken.py中执行'http' in host判断时,因host是None类型触发TypeError。这通常是simple_googletrans库自身配置问题,或是它依赖的googletrans版本不兼容所致。
针对 simple_googletrans 的修复方案
方案1:手动指定服务地址初始化
from simple_googletrans import GoogleTrans # 传入有效的谷歌翻译服务地址 t = GoogleTrans(service_url='translate.google.com') result = t.translate('hello world', dest='ar') print(result)
方案2:降级兼容版本的 googletrans
如果方案1无效,可卸载当前googletrans并安装兼容版本:
pip uninstall googletrans -y pip install googletrans==3.1.0a0
替代方案:使用其他稳定翻译库
1. deep-translator(推荐)
封装多翻译引擎,稳定性强:
from deep_translator import GoogleTranslator # 自动识别源语言,翻译为阿拉伯语 translated_text = GoogleTranslator(source='auto', target='ar').translate('hello world') print(translated_text)
安装命令:
pip install deep-translator
2. translate 库
轻量易用,支持谷歌翻译:
from translate import Translator translator = Translator(to_lang="ar") translation = translator.translate("hello world") print(translation)
安装命令:
pip install translate
3. 直接使用 googletrans 官方库
指定服务地址即可正常使用:
from googletrans import Translator translator = Translator(service_urls=['translate.google.com']) result = translator.translate('hello world', dest='ar') print(result.text)
内容的提问来源于stack exchange,提问作者ibraheem mohsen
相关产品推荐
相关产品推荐

