9

我正在尝试fbprophet在 Python Anaconda 上导入,但是出现此错误:

 ImportError: cannot import name 'easter' from 'holidays' 

谁能建议可能出了什么问题?

代码:

from fbprophet import fbprophet
4

5 回答 5

11

我正在使用 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
于 2020-02-17T16:17:47.660 回答
4

这是最近报告的一个已知错误。(在这里寻找线程)。

原因和大纲是——

"easter" 不是假期函数,而是 dateutil 库函数。直到以前版本的假期(0.9.12)它是“意外”访问的,因为它被导入到holidays.py(主库模块,现在删除以支持单一国家模块),但它在先知中的直接引用是基本上是错误的(WEEKEND、HolidayBase 等也是如此,并不意味着可以从外部假期库访问)。
为了修复 fbprophet,将错误导入替换为

从 dateutil.easter 导入复活节

于 2020-02-10T06:24:54.940 回答
0

我遇到了这个问题,谷歌搜索并解决了它。对于解决方案,请执行以下操作;

  1. 打开python3.6/site-packages/fbprophet/hdays.py文件。
  2. 代替

    from holidays import WEEKEND, HolidayBase, easter, rd

    from holidays import WEEKEND, HolidayBase
    from dateutil.easter import easter
    from dateutil.relativedelta import relativedelta as rd
于 2020-02-17T12:00:42.453 回答
0

错误主要来自文件'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

于 2020-02-12T12:02:39.983 回答
0

这是人们最近面临的一个热门问题。查看https://github.com/dr-prodigy/python-holidays/issues/277#issuecomment-578562797。对于您的解决方案,请执行

from dateutil.easter import easter

这将解决您的问题。

于 2020-02-10T06:34:37.583 回答