在Notebook中使用backtrader绘图出现 Javascript Error: IPython is not defined

01背景说明

首先,说明一下背景。我的电脑在2024年6月时使用backtrader进行cerebro.plot()是没有问题的,图能够在Notebook中正常显示,没有错误提示。

2024年7月下旬,连续学习和试用了好几个AI工具后,我鬼使神差点了Notebook AI助手安装,等过了几天再使用backtrader时,其他语句都没有问题,但就是cerebro.plot()就会报出错误且图形就是不显示。

Javascript Error: IPython is not defined

02问道于AI

这个问题我问了好几个AI,包括天工,豆包,Kimi,智普... 给出的分析和方案都没有效果,依然是无法在Notebook中绘制图了。

这里面包括有:

  1. 更新 Backtrader 和 matplotlib;
  2. 使用 %matplotlib inline 魔术命令;
  3. 确保安装了 ipywidgets;
  4. 重启 Jupyter Notebook 服务器等

然后,我又回到了AI之前的办法,百度以及在CSDN上搜索别人的blog,发现几个点:

  1. 大多是本身设置或依赖库一开始就有问题,而我是中途突然出问题的
  2. backtrader依赖Matlibplot,因此matlibplot一样也报这个错
  3. 安装ipympl,把魔法命令写成 %matplotlib widget
  4. 网页上有贴子说Notebook没问题,但是JupyterLab有问题
  5. 网上也有7月份更新了Anaconda出现相同问题的提问(答案是上面第3点)

03问题答案

最后,我发现了问题所在,我在更新之后,当前打开的Notebook多了一个选择:Open in... 点击它会出现一个下拉列表,其中第二项是NbClassic,我理解就是NoteBook Classic即Notebook经典版的意思。那么当前我们默认的就不是经典Notebook。

于是点击“NbClassic”后,会新打开一个页面,感觉很熟悉,在这个页面里,再次运行cerebro.plot()后,就能正常显示图了:

原来,的确在更新后是有些东西不一样的,想要回到之前的,要选择NbClassic来打开即可~

问题解决,记录、收工~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值