Ubuntu系统备份时出现PyDrive依赖及oauth2client导入错误求助
Ubuntu系统备份时出现PyDrive依赖及oauth2client导入错误求助
你好,看了你在Ubuntu 22.04.3 LTS(GNOME 42.9)系统里备份时遇到的错误:
BackendException: PyDrive backend requires PyDrive installation.
Please read the manpage for setup details.Exception:
cannot import name 'scopes_to_string' from 'oauth2client._helpers' (/home/raul/.local/lib/python3.10/site-packages/oauth2client/_helpers.py)
刚好之前我也碰到过几乎一样的问题,给你分享下亲测有效的解决步骤:
问题根源拆解
这是两个关联的问题:
- 第一个错误明确提示你缺少PyDrive这个后端依赖包,系统找不到它所以报错;
- 第二个导入错误是因为
oauth2client的版本不兼容——新版本的oauth2client已经移除了scopes_to_string这个方法,但PyDrive的代码还在调用它,导致导入失败。
一步步解决
1. 先安装PyDrive依赖
打开终端,用pip3安装PyDrive(因为你的系统用的是Python3.10,优先用pip3避免和Python2混淆):
pip3 install PyDrive
如果安装时提示权限问题,可以加上--user参数安装到当前用户目录:
pip3 install --user PyDrive
2. 替换兼容版本的oauth2client
先卸载当前系统里的oauth2client:
pip3 uninstall -y oauth2client
然后安装和PyDrive兼容的旧版本,比如2.2.0版本(这个版本保留了scopes_to_string方法):
pip3 install oauth2client==2.2.0
如果这个版本还是有问题,也可以试试1.5.2版本,很多用户验证过也能正常工作:
pip3 install oauth2client==1.5.2
3. 验证修复效果
安装完成后,在终端里运行下面的命令测试是否能正常导入:
python3 -c "from pydrive.auth import GoogleAuth; from oauth2client._helpers import scopes_to_string; print('验证成功!依赖已就绪')"
如果输出验证成功!依赖已就绪,说明问题已经解决,你可以重新尝试执行备份操作了。
备注:内容来源于stack exchange,提问作者Raulins Nyaoke
相关产品推荐
相关产品推荐

