【发布时间】:2020-09-07 19:05:12
【问题描述】:
我正在尝试在 Python Anaconda 上导入 fbprophet,但是,我收到此错误:
ImportError: cannot import name 'easter' from 'holidays'
谁能提出可能出了什么问题?
代码:
from fbprophet import fbprophet
【问题讨论】:
标签: python python-3.x
我正在尝试在 Python Anaconda 上导入 fbprophet,但是,我收到此错误:
ImportError: cannot import name 'easter' from 'holidays'
谁能提出可能出了什么问题?
代码:
from fbprophet import fbprophet
【问题讨论】:
标签: python python-3.x
我正在使用 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
【讨论】:
这是最近报告的一个已知错误。 (look here for the thread)。
原因和大纲是-
"easter" 不是假期函数,而是 dateutil 库函数。 直到以前版本的假期(0.9.12)它是“意外”可访问的,因为它被导入到holidays.py(主库模块,现在删除以支持单个国家模块),但它在先知中的直接引用是基本上是错误的(WEEKEND、HolidayBase 等也是如此,不适合从外部假期库访问)。
为了修复 fbprophet,将错误导入替换为从 dateutil.easter 导入复活节
【讨论】:
fbprophet/hdays.py 文件??还是您只是将from dateutil.easter import easter 添加到现有代码中?
这是人们最近面临的一个热门问题。查看https://github.com/dr-prodigy/python-holidays/issues/277#issuecomment-578562797。对于您的解决方案,请执行
from dateutil.easter import easter
这将解决您的问题。
【讨论】:
错误主要来自文件'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 安装月历
【讨论】:
我遇到了这个问题,谷歌搜索并解决了它。 对于解决方案,请执行以下操作;
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
【讨论】: