PyCharm环境下googletrans报Max retries exceeded及SSL证书验证失败求助
解决googletrans SSL证书验证失败的问题
你遇到的这个SSL证书验证错误,在旧版googletrans库+老旧Python环境(比如你用的Python3.4)的组合里挺常见的,我给你梳理几个可行的解决思路:
问题根源拆解
这个报错的核心是:你的程序请求translate.google.com时,无法验证服务器的SSL证书,导致重试多次后请求失败。主要有两个诱因:
- 原版googletrans库早已停止维护,旧版本依赖的API端点和证书处理逻辑已经失效;
- Python3.4是非常老旧的版本(2019年就停止官方支持了),自带的SSL根证书可能已经过期,无法识别当前Google的有效证书。
具体解决方案
方案1:更换为社区维护的googletrans版本
原版googletrans没人维护了,推荐安装社区修复后的测试版本,这个版本已经解决了API端点和证书相关的问题:
先卸载旧版本,再安装新版:
pip uninstall googletrans -y pip install googletrans==4.0.0-rc1
然后调整你的翻译代码(新版用法略有变化,需要接收并使用翻译结果):
def translate(self): # 注意变量名别和类名重复,这里改成translator translator = Translator() # 获取翻译结果 translation_result = translator.translate(self._word, dest="hi", src="en") # 你可以把结果赋值给界面控件或者直接打印测试 print(f"翻译结果:{translation_result.text}")
方案2:临时禁用SSL验证(仅测试用,不推荐生产环境)
如果暂时无法更换库版本,可以临时关闭SSL验证绕过错误(但会降低安全性,只适合本地测试):
import requests from requests.packages.urllib3.exceptions import InsecureRequestWarning from googletrans import Translator # 关闭SSL验证的警告提示 requests.packages.urllib3.disable_warnings(InsecureRequestWarning) def translate(self): translator = Translator() # 给translator的会话设置禁用SSL验证 translator.session.verify = False translation_result = translator.translate(self._word, dest="hi", src="en") print(translation_result.text)
方案3:长远建议——升级Python版本
Python3.4已经停止支持多年,几乎所有主流库都不再对它做兼容更新,包括SSL证书相关的维护。如果条件允许,建议你升级到Python3.8及以上版本,不仅能解决这个SSL问题,还能避免很多其他兼容性bug,而且你的PyCharm2017.3也支持这些版本的Python。
内容的提问来源于stack exchange,提问作者royatirek
相关产品推荐
相关产品推荐

