我正在尝试fbprophet在 Python Anaconda 上导入,但是出现此错误:
ImportError: cannot import name 'easter' from 'holidays'
谁能建议可能出了什么问题?
代码:
from fbprophet import fbprophet
我正在尝试fbprophet在 Python Anaconda 上导入,但是出现此错误:
ImportError: cannot import name 'easter' from 'holidays'
谁能建议可能出了什么问题?
代码:
from fbprophet import fbprophet
我正在使用 anaconda,唯一对我有用的解决方案是:
替换fbprophet /hdays.py (\AppData\Local\Continuum\anaconda3\Lib\site-packages\fbprophet\hdays.py)中的第 16 行:
from holidays import WEEKEND, HolidayBase, easter, rd
至
from holidays import WEEKEND, HolidayBase
from dateutil.easter import easter
from dateutil.relativedelta import relativedelta as rd
这是最近报告的一个已知错误。(在这里寻找线程)。
原因和大纲是——
"easter" 不是假期函数,而是 dateutil 库函数。直到以前版本的假期(0.9.12)它是“意外”访问的,因为它被导入到holidays.py(主库模块,现在删除以支持单一国家模块),但它在先知中的直接引用是基本上是错误的(WEEKEND、HolidayBase 等也是如此,并不意味着可以从外部假期库访问)。
为了修复 fbprophet,将错误导入替换为从 dateutil.easter 导入复活节
我遇到了这个问题,谷歌搜索并解决了它。对于解决方案,请执行以下操作;
python3.6/site-packages/fbprophet/hdays.py文件。代替
from holidays import WEEKEND, HolidayBase, easter, rd
至
from holidays import WEEKEND, HolidayBase
from dateutil.easter import easter
from dateutil.relativedelta import relativedelta as rd
错误主要来自文件'fbprophet/hdays.py'中的'from holiday import WEEKEND、HolidayBase、easter、rd'
我尝试过以下临时解决方案-
1.从https://github.com/facebook/prophet/tree/master/python/fbprophet下载“hdays.py” (由 fbprophet 维护者在 github 上修复和发布)
2.用下载的'hdays.py'替换本地系统路径-\AppData\Local\Continuum\anaconda3\Lib\site-packages\fbprophet中已经存在的'hdays.py'
如果上述方法不起作用,则安装包 -pip install lunarcalendar
这是人们最近面临的一个热门问题。查看https://github.com/dr-prodigy/python-holidays/issues/277#issuecomment-578562797。对于您的解决方案,请执行
from dateutil.easter import easter
这将解决您的问题。