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

backtesting库bt.plot()报错:Toolbar的logo参数重复赋值

  • 首先纠正一个关键错误:你使用的是backtesting库,但执行的是升级backtrader的命令——这两个是完全独立的Python回测库,升级backtrader对你的问题没有任何帮助。

问题根源

这个报错是因为backtesting库的绘图模块与你当前安装的bokeh库版本不兼容:新版bokeh(3.x及以上)对Toolbar类的logo参数做了API调整,而旧版backtesting库的代码仍在以旧方式传递该参数,导致重复传参错误。

具体解决步骤

  1. 查看当前库版本
    执行命令检查已安装的backtesting和bokeh版本:

    # Linux/macOS
    pip list | grep -E "backtesting|bokeh"
    # Windows
    pip list | findstr "backtesting bokeh"
    
  2. 方案一:升级backtesting到最新版本
    新版本的backtesting已经修复了与高版本bokeh的兼容问题,执行升级命令:

    pip install --upgrade backtesting
    
  3. 方案二:锁定bokeh到兼容的旧版本
    如果升级backtesting后问题仍存在,可将bokeh降级到2.x版本(推荐2.4.3,经大量验证兼容backtesting):

    pip install bokeh==2.4.3
    
  4. 额外验证:确保数据格式正确
    确认你从ek.get_timeseries获取的苹果公司数据符合backtesting库要求:

    • 数据框的索引必须是datetime类型
    • 列名必须为Open、High、Low、Close、Volume(注意大小写严格匹配)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 00:32:34