导入googletrans报错AttributeError: httpcore无SyncHTTPTransport属性
报错原因
该错误是典型的依赖版本不兼容问题:PyPI源上默认分发的googletrans 4.0.0-rc1预览版已停止维护多年,其内部代码仍按照旧版httpcore的接口规则,从httpcore顶层模块读取SyncHTTPTransport类;但0.14.0及以上版本的httpcore调整了代码结构,将SyncHTTPTransport迁移到了httpcore.sync子模块下,不再从顶层导出该属性,直接导致googletrans导入时触发属性访问错误。
修复方案
- 固定兼容依赖版本(操作成本最低)
直接将冲突的依赖包降到与旧版googletrans适配的版本,执行以下命令完成重装:
重装完成后即可正常导入googletrans,无需修改业务代码。pip install httpcore==0.13.3 httpx==0.13.3 - 替换为社区维护的修复版googletrans
卸载已安装的停更原版,安装社区持续维护的兼容新版依赖的正式版本,无需手动锁定旧版依赖:
注意:不要选择4.0.0-rc1预览版,该版本为多年前发布的未完成版本,存在大量未修复的兼容问题pip uninstall -y googletrans pip install googletrans==4.0.2 - 临时补丁兼容(不便修改已安装包版本时使用)
在项目代码的最开头、导入googletrans之前,手动补全缺失的属性映射,绕过导入检查:import httpcore from httpcore.sync import SyncHTTPTransport # 补全旧版接口的属性映射 httpcore.SyncHTTPTransport = SyncHTTPTransport # 后续正常导入googletrans即可 from googletrans import Translator
内容的提问来源于stack exchange,提问作者Mohit Narwani
相关产品推荐
相关产品推荐

