【问题标题】:Cannot import name 'easter' from 'holidays'无法从“假期”导入名称“复活节”
【发布时间】:2020-09-07 19:05:12
【问题描述】:

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

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

谁能提出可能出了什么问题?

代码:

from fbprophet import fbprophet

【问题讨论】:

    标签: python python-3.x


    【解决方案1】:

    我正在使用 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
    

    【讨论】:

      【解决方案2】:

      这是最近报告的一个已知错误。 (look here for the thread)。

      原因和大纲是-

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

      从 dateutil.easter 导入复活节

      【讨论】:

      • 好吧,这个为我导入的复活节,但在导入 fbprophet 时出现同样的错误。
      • @ALAUKIKHARSH 您是否编辑了fbprophet/hdays.py 文件??还是您只是将from dateutil.easter import easter 添加到现有代码中?
      • @ALAUKIKHARSH 也存在一个固定版本,它只是不在 PIPY 上,但你可以从 github 克隆它。你也可以使用它
      • 感谢问题已解决。这次是 hdays.py 中的拼写错误
      【解决方案3】:

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

      from dateutil.easter import easter
      

      这将解决您的问题。

      【讨论】:

      • 好吧,这个为我导入的复活节,但在导入 fbprophet 时出现同样的错误。
      • pip uninstall cython --> 重复直到你的系统清晰然后 pip install cython 这有帮助吗?
      【解决方案4】:

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

      【讨论】:

        【解决方案5】:

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

        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
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-01-01
          • 2019-05-27
          • 2021-01-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多