Anaconda环境下backtesting包Conda安装失败及绘图兼容问题求助
Anaconda环境下backtesting包Conda安装失败及绘图兼容问题求助
大家好,我最近在最新版Anaconda环境里用backtesting.py做策略回测,计算环节顺利完成且结果正确,但一直没法生成可视化图表——提示Bokeh版本和当前Python版本不兼容。
后来我尝试单独搭建了一个Python 3.8的Conda环境,手动安装了numpy、matplotlib和bokeh,结果在执行conda install backtesting=0.6.4时遇到了报错,具体错误信息如下:
Collecting package metadata (repodata.json): done
Solving environment: failed
PackagesNotFoundError: The following packages are not available from current channels:
- backtesting
Current channels:- conda-forge
- defaults
想请教大家有没有解决办法?或者有没有办法直接在原Anaconda环境里修复绘图兼容的问题?
针对你的问题,分享几个实用的解决方向:
一、优先修复原环境的绘图兼容问题(不用重新搭环境)
- 先查看当前环境的Bokeh版本:
conda list bokeh - backtesting.py的0.6.4版本对Bokeh的兼容版本是2.x系列(比如2.4.3),如果你的Bokeh是3.x及以上版本,就会出现不兼容问题。可以尝试降级Bokeh:
conda install bokeh=2.4.3 - 若降级Bokeh后仍无法绘图,检查原环境的Python版本:backtesting=0.6.4支持Python 3.7~3.10,如果你的原环境是Python 3.11及以上,建议降级Python到3.10:
conda install python=3.10
二、解决Conda安装backtesting失败的问题
- 尝试明确指定conda-forge频道安装:
conda install -c conda-forge backtesting=0.6.4 - 如果Conda安装仍失败,换用pip安装(在你新建的Python 3.8环境中执行):
pip install backtesting==0.6.4
注意:用pip安装前,确保环境已安装好numpy、pandas、bokeh等基础依赖,避免依赖缺失。
三、最稳妥的方案:新建兼容版本的Conda环境
直接创建一个包含所有兼容依赖的环境,从根源避免版本冲突:
# 创建名为backtest_env的环境,指定兼容的Python和依赖版本 conda create -n backtest_env python=3.10 numpy matplotlib bokeh=2.4.3 # 激活环境 conda activate backtest_env # 安装backtesting包 pip install backtesting==0.6.4
这个环境里的所有依赖版本都是互相兼容的,应该能正常完成回测并生成图表。
如果尝试后仍有问题,可以把环境的详细依赖列表(执行conda list的输出)贴出来,方便进一步排查。
内容来源于stack exchange
相关产品推荐
相关产品推荐

