执行更新管理器时出现 AttributeError‘pyparsing’

执行更新管理器时出现 AttributeError‘pyparsing’

update-manager的 Ubuntu 18.04 一直运行良好,直到突然显示一个错误:

AttributeError: module 'pyparsing' has no attribute 'downcaseTokens'

我如何才能带上我的更新管理器又去工作了?

答案1

似乎pyparsing该属性所在的pp.downcaseTokens模块已经发生了变化pp.pyparsing_common.downcase_tokens(参见 GitHub 中的讨论AttributeError:模块“pyparsing”没有属性“downcaseTokens”#207

因此快速修复方法如下:

  1. auth.py使用文本编辑器打开文件——我个人使用的是轻量级的mousepad。 的位置auth.py与错误消息一起给出。 在我的情况下,它位于httplib2python 的本地包中,即/home/lovedByJesus/.local/lib/python3.6/site-packages/httplib2/auth.py
  2. 替换pp.downcaseTokenspp.pyparsing_common.downcase_tokens(我在第 20 行找到了属于该作业的表达式auth_param_name = token.copy().setName("auth-param-name").addParseAction(pp.downcaseTokens)
  3. 保存文件并运行update-manager。它应该可以顺利运行。

答案2

我没有修改在其中一个 Python 文件中发现的包含“pp.downcaseTokens”的表达式site-packages,而是直接运行:

pip install 'httplib2>=0.20.2'

正如其中一个答案所建议的那样这里

这在 Ubuntu 22.04 上对我有用。

相关内容