【问题标题】:ImportError: cannot import name 'Timestamp'ImportError:无法导入名称“时间戳”
【发布时间】:2018-11-08 13:25:16
【问题描述】:

我已使用以下代码在我的 python 3.6.3 中成功安装了 ggplot:

conda install -c conda-forge ggplot 

但是当我使用下面的代码将它导入我的笔记本时,我得到一个错误:

from ggplot import *
ImportError: cannot import name 'Timestamp'

如果我能解决这个问题,我将不胜感激。

【问题讨论】:

    标签: python ggplot2 python-ggplot


    【解决方案1】:

    @Liaoming999 是正确的,但要添加更多更改来解决此问题:

    1. 打开文件../site-packages/ggplot/stats/smoothers.py
    2. 在第 4 行将 from pandas.lib import Timestamp 更改为 from pandas import Timestamp
    3. 在第 14 行将 pd.tslib.Timestamp 更改为 pd.Timestamp
    4. 保存文件
    5. 打开文件 ../site-packages/ggplot/utils.py 并转到第 81 行并执行与步骤 3 相同的操作。感谢 @wmsmith 提供的提示。

    p.s.:一般建议是使用 Anaconda 或一些虚拟环境。

    【讨论】:

    • 我刚刚在全新的 imac 上完成了全新安装。显然,同样的事情也必须在 ../site-packages/ggplot/utils.py 中完成。所以在更新 stats/smoothers.py 和 utils.py 之后,ggplot 终于可以被导入了。
    【解决方案2】:

    ggplot 已经有一段时间没有什么进展了——也许它会在未来发生变化,主要项目就会出现。

    与此同时,您可以使用这个友好的分叉,而不是破解库(有时很难):

    https://github.com/sushinoya/ggpy

    进一步阅读: https://github.com/yhat/ggpy/issues/654

    安装使用:

    pip install git+https://github.com/sushinoya/ggpy
    

    或:

    pip install --user git+https://github.com/sushinoya/ggpy
    

    (后者可以在共享服务器环境下工作)

    注意事项: 你需要 Git,也许还需要一个用于 Python 扩展的工作编译器。

    【讨论】:

      【解决方案3】:

      我完全同意@Srikar Appalaraju。此外,将 utils.py 中的第 81 行(路径为 .../site-packages/ggplot/utils.py)从“pd.tslib.Timestamp”更新为“pd.Timestamp”以删除 FutureWarning。

      【讨论】:

        【解决方案4】:

        我在 Databricks 服务器上升级到 pandas 0.23 后遇到了同样的问题。

        必须使用 unix sed 工具提出这个命令行解决方案:

        cd .../python/lib/python3.5/site-packages/ggplot/stats/
        sed -i 's/pandas.lib/pandas/g' smoothers.py
        

        【讨论】:

          【解决方案5】:

          我也遇到了同样的问题。

          请转到 .../site-packages/ggplot/stats/smoothers.py 并更改

          from pandas.lib import Timestamp
          

          from pandas import Timestamp
          

          然后保存。

          【讨论】:

          • 你能在 Jupyter 笔记本上做到这一点吗?我在共享服务器上,无权访问这些目录。顺便说一句,是不是有什么事情只是导致了这个?我昨天在同一台服务器上导入 ggplot 没有问题,现在我注意到这个问题只有 1 天...
          • 嗨,对于您的情况,我最好的客人是有人升级了服务器中的 pandas 包,这导致 Timestamp 从 pandas.lib 中被弃用并导致错误。我只能想出两个解决方案:1.使用virtualenv包创建自己的环境,这样你就可以访问那些目录; 2. 将pandas包降级到合适的版本(不太确定)
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2017-01-07
          • 2016-03-31
          • 2014-10-10
          • 2014-09-20
          • 2014-08-28
          • 2014-06-10
          • 2016-05-16
          相关资源
          最近更新 更多