You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

安装Frappe v13出现pyparsing无downcaseTokens属性错误如何解决

问题根因

你遇到的报错完全由pyparsing版本不兼容导致:

  1. Frappe v13依赖的httplib2 0.20.1要求pyparsing版本范围为>=2.4.2,<3,你环境中默认安装的3.0.0超出了该范围,因此执行bench init时会抛出依赖冲突警告

ERROR: httplib2 0.20.1 has requirement pyparsing<3,>=2.4.2, but you'll have pyparsing 3.0.0 which is incompatible.

  1. pyparsing 3.0+版本正式移除了2.x版本中标记为废弃的downcaseTokens函数,因此新建站点时会抛出属性错误:

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

强制安装符合版本要求的旧版pyparsing完全可以解决该问题,属于常规修复方案。

修复步骤

分两种场景操作即可:

场景1:尚未执行bench init

执行初始化命令前,先全局或当前用户环境预安装兼容版本的pyparsing:

pip install pyparsing==2.4.7

安装完成后再正常执行bench init命令即可避免报错。

场景2:已完成bench init,仅新建站点时报错

需要进入bench对应的Python虚拟环境修改依赖版本:

  • 进入你创建的frappe-bench目录,激活虚拟环境:
    cd /替换为你自己的bench目录路径/frappe-bench && source env/bin/activate
  • 卸载当前安装的高版本pyparsing:
    pip uninstall pyparsing -y
  • 安装兼容版本:
    pip install pyparsing==2.4.7
  • 验证版本正确:
    执行pip show pyparsing,确认返回的Version字段为2.4.7即可。
  • 退出虚拟环境:
    deactivate
    操作完成后再执行新建站点的命令即可正常运行。
注意事项
  • 不要手动升级Frappe v13对应虚拟环境内的pyparsing到3.x及以上版本,该版本分支没有适配高版本pyparsing的API改动,升级会重新触发报错。
  • 如果后续执行bench update后再次出现该报错,重复上述虚拟环境内重装指定版本pyparsing的操作即可。

内容的提问来源于stack exchange,提问作者Hari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 14:27:03