Python3.6.3安装ggplot后导入报错:ImportError: cannot import name 'Timestamp'
解决ggplot导入时的
ImportError: cannot import name 'Timestamp'问题 这个ImportError: cannot import name 'Timestamp'问题我碰过好多次了,本质是ggplot依赖的pandas版本与你当前环境里的pandas版本不兼容——旧版ggplot的代码直接从pandas根模块导入Timestamp,但较新的pandas版本调整了这个类的内部结构,或者你环境里的pandas版本过高,超出了ggplot的兼容范围。下面是几个经过验证的可行解决思路:
指定兼容的pandas版本重新安装
这是最常用的修复方案,先清理冲突的依赖再安装适配组合:# 强制卸载当前的ggplot和pandas conda remove --force ggplot pandas # 安装适配Python3.6.3的组合版本(pandas 0.24.x与旧版ggplot兼容性极佳) conda install -c conda-forge ggplot pandas=0.24.2安装完成后重新尝试
from ggplot import *,大概率能解决问题。手动修改ggplot的导入代码(临时应急方案)
如果不想重新安装依赖,可以直接修改ggplot的源码来适配当前pandas版本:- 找到你conda环境中ggplot的安装路径,比如
{你的conda环境路径}/lib/python3.6/site-packages/ggplot - 定位到报错的文件(通常是
ggplot/utils.py或ggplot/stats/smoothers.py),找到行from pandas import Timestamp - 将其替换为更兼容的导入方式:
import pandas as pd Timestamp = pd.Timestamp - 保存文件后重新运行导入语句即可。注意:这个方法是临时修复,后续更新ggplot会覆盖修改。
- 找到你conda环境中ggplot的安装路径,比如
创建独立的conda环境隔离依赖
这是最稳妥的方案,避免和其他项目的依赖冲突:# 创建专门用于ggplot的Python3.6.3环境 conda create -n ggplot_env python=3.6.3 # 激活环境 conda activate ggplot_env # 安装ggplot,conda会自动拉取兼容的依赖版本 conda install -c conda-forge ggplot在这个独立环境中运行代码,完全不会出现版本冲突问题。
内容的提问来源于stack exchange,提问作者Krantz
相关产品推荐
相关产品推荐

