项目场景:

通过Backtrader框架对tushare获取的股票数据做回测调用cerebro.plot()时报错:

ImportError:cannot import name 'warnings'


问题描述

详细报错信息如下:

Traceback (most recent call last):File "D:\Anaconda3\lib\tkinter\__init__.py", line 1702, in __call__return self.func(*args)File "D:\Desktop\新建文件夹 (2)\cfc-validation\SimTrade\gui_simtrade.py", line 338, in execOpTradebackDaycerebro.plot()File "D:\Anaconda3\lib\site-packages\backtrader\cerebro.py", line 974, in plotfrom . import plotFile "D:\Anaconda3\lib\site-packages\backtrader\plot\__init__.py", line 43, in <module>from .plot import Plot, Plot_OldSyncFile "D:\Anaconda3\lib\site-packages\backtrader\plot\plot.py", line 44, in <module>from . import locator as locFile "D:\Anaconda3\lib\site-packages\backtrader\plot\locator.py", line 35, in <module>from matplotlib.dates import (HOURS_PER_DAY, MIN_PER_HOUR, SEC_PER_MIN,
ImportError: cannot import name 'warnings'

原因分析:

认真看这里的报错信息,定位到

D:\Anaconda3\lib\site-packages\backtrader\plot\locator.py
from matplotlib.dates import (HOURS_PER_DAY, MIN_PER_HOUR, SEC_PER_MIN,MONTHS_PER_YEAR, DAYS_PER_WEEK,SEC_PER_HOUR, SEC_PER_DAY,num2date, rrulewrapper, YearLocator,MicrosecondLocator, warnings)

是这里的warnings不能被引用,查阅相关文档后发现:

  • matplotlib 3.2后的版本不在支持warnings
  • Backtrader所支持的matplotlib版本为3.2.2
  • 我安装的matplotlib是3.4.5
  • 由此可以得出两种解决方案:

解决方案:

1、回退matplotlib版本为3.2.2

pip uninstall matplotlib
pip install matplotlib==3.2.2

2、将locator.py错误定位语句修改为:

from matplotlib.dates import (HOURS_PER_DAY, MIN_PER_HOUR, SEC_PER_MIN,MONTHS_PER_YEAR, DAYS_PER_WEEK,SEC_PER_HOUR, SEC_PER_DAY,num2date, rrulewrapper, YearLocator,MicrosecondLocator)
import warnings

Solution For ImportError Of Backtrader相关推荐

  1. 在使用backtrader时,遇到 ImportError: cannot import name ‘warnings‘ from ‘matplotlib.dates‘ 报错的解决方法

    在使用backtrader时,遇到 ImportError cannot import name 'warnings' from 'matplotlib.dates' 报错的解决方法 被这个问题搞得心 ...

  2. backtrader plot 出现错误的处理办法 ImportError: cannot import name ‘warnings‘ from ‘matplotlib.dates‘

    在使用backtrader 做回测时,发现只要是运行到 cerebro.plot() 就会出现如下的一堆错误:ImportError: cannot import name 'warnings' fr ...

  3. ImportError cannot import name BytesIO when import caffe

    转自:https://github.com/BVLC/caffe/issues/1549 I am trying to make caffe running on my machine equippe ...

  4. ImportError: libpq.so.5: cannot open shared object file: No such file or directory

    import psycopg2 Traceback (most recent call last):   File "<stdin>", line 1, in ?   ...

  5. ImportError: libicui18n.so.56 and/or libicui18n.so.58 when importing cv2

    自己的解决办法: 我的报错是lib中缺少.so.56,于是我从 https://anaconda.org/conda-forge/icu/files 里面下载了放到lib中,python就能正常imp ...

  6. File /usr/bin/pip3, line 9, in module from pip import main ImportError: cannot import name

    File "/usr/bin/pip3", line 9, in from pip import main ImportError: cannot import name 'mai ...

  7. importError: cannot import name ‘SGD‘ from ‘keras.optimizers‘

    problem: ImportError: cannot import name 'SGD' from 'keras.optimizers' (/home/tux/conda/envs/huh/lib ...

  8. 安装 sklearn 报错 ImportError: cannot import name Type

    1. 安装 sklearn sudo pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple sklearn 会默认安装 joblib , s ...

  9. Anaconda3-5.0.1 输入ipython 出现 ImportError: cannot import name ‘create_prompt_application‘

    在 Windows 系统上安装 Anaconda3-5.0.1 版本后,输入 ipython 结果出现如下错误: (G:\Anaconda3-5.0.1\install) C:\Users\wohu& ...

最新文章

  1. c++类的构造函数详解
  2. learn python the hard way习题31~40总结以及列表的扩展知识
  3. 算法练习之leetcode两数相加(1)
  4. python机械手标定_机械手姿态的获取,ros,臂,当前,位姿
  5. mysql创建回滚点_mysql创建与回滚
  6. window下git,TortoiseGit安装,以及和github托管项目
  7. wps中将文档输出为pdf_简单4步通过WPS2013 API将Word,Excel和PPT文件转换成PDF文件
  8. python简化逻辑式
  9. 云平台之实例类型与故障迁移
  10. 刘强东带到石头村什么宝贝?飞翔鸽、“村长刘”品牌、歌唱家!
  11. 520了,用32做个简单的小程序
  12. 腾讯清凉云dd win 7
  13. 用了postman,接口测试不用愁了
  14. 没有技术说明文档的开源都是耍流氓:微软Roslyn编译即服务在CIIP中具体应用(上)...
  15. MySQL中 find_in_set 函数如何替换成Oracle写法
  16. 录屏工具下载哪个好?分享:超简单的录屏工具及实用方法
  17. 基于kalman滤波的磨损预测算法matlab仿真
  18. 亲爱的老狼-html的格式含义全面说明
  19. 升级 phpStudy 中 MySQL 版本
  20. 【VS开发】VC++ 获取系统时间、程序运行时间(精确到秒,毫秒)的五种方法

热门文章

  1. 【推荐】产品经理需求模板,案例等文档合集15篇
  2. QUnit 单元测试简介
  3. 共识算法解读-天下武功唯快不破Conflux共识算法
  4. 无线发射器c语言程序代码,单片机编码 无线模块发送与接收 程序
  5. 自由 Pascal 集成开发环境 Lazarus
  6. 【QT学习】实现鼠标滑动触发的轮播图
  7. Cadence Allegro 如何隐藏和显示铜皮
  8. php non numeric,讲解php 出现Warning: A non-numeric value encountered问题的原因及解决方法...
  9. 仙居机器人_【101梦想秀】不得了!他是仙居机器人领域的领跑者!
  10. 固定资产折旧计算的方法[轉帖]