Python中导入goco模块失败,报SyntaxError语法错误
导入goco模块时触发SyntaxError:Python2异常捕获语法不兼容Python3
报错信息:
Traceback (most recent call last): File "/home/ahmed/.local/lib/python3.10/site-packages/IPython/core/interactiveshell.py", line 3524, in run_code exec(code_obj, self.user_global_ns, self.user_ns) File "/tmp/ipykernel_16944/2733253088.py", line 1, in <cell line: 1> import goco File "/home/ahmed/.local/lib/python3.10/site-packages/goco/__init__.py", line 1, in <module> from goco.goco import Goco File "/home/ahmed/.local/lib/python3.10/site-packages/goco/goco.py", line 5, in <module> from oauth2client.client import flow_from_clientsecrets File "/home/ahmed/.local/lib/python3.10/site-packages/oauth2client/client.py", line 45, in <module> from oauth2client import crypt File "/home/ahmed/.local/lib/python3.10/site-packages/oauth2client/crypt.py", line 55, in <module> from oauth2client import _pycrypto_crypt File "/home/ahmed/.local/lib/python3.10/site-packages/oauth2client/_pycrypto_crypt.py", line 17, in <module> from Crypto.PublicKey import RSA File "/home/ahmed/.local/lib/python3.10/site-packages/Crypto/PublicKey/RSA.py", line 585 except ValueError, IndexError: ^ SyntaxError: multiple exception types must be parenthesized
错误原因:
依赖库Crypto的RSA.py文件使用了Python2的多异常捕获语法,不符合Python3的语法规范,导致导入时触发SyntaxError。
解决方案:
- 卸载旧的Python2版本
Crypto库:pip uninstall Crypto - 安装兼容Python3的替代库
pycryptodome(API与原Crypto兼容,完全支持Python3语法):pip install pycryptodome - (可选)更新
oauth2client到适配Python3的版本,避免其他潜在兼容问题:pip install --upgrade oauth2client - 完成后重新尝试导入goco模块:
import goco
内容的提问来源于stack exchange,提问作者Ahmed Mohamed
相关产品推荐
相关产品推荐

