Docker重建后导入Great Expectations出现ImportError求助
Great Expectations 导入失败求助
我使用Great Expectations已有一段时间,最近重建Docker镜像后,镜像构建正常,但运行代码导入该包时出现ImportError。已尝试将Great Expectations升级至最新版本,问题仍未解决,求各位提供解决方法。
报错信息
import great_expectations as ge File "/opt/conda/envs/my_env/lib/python3.8/site-packages/great_expectations/__init__.py", line 6, in <module> from great_expectations.data_context.migrator.cloud_migrator import CloudMigrator File "/opt/conda/envs/my_env/lib/python3.8/site-packages/great_expectations/data_context/__init__.py", line 1, in <module> from great_expectations.data_context.data_context import ( File "/opt/conda/envs/my_env/lib/python3.8/site-packages/great_expectations/data_context/data_context/__init__.py", line 1, in <module> from great_expectations.data_context.data_context.abstract_data_context import ( File "/opt/conda/envs/my_env/lib/python3.8/site-packages/great_expectations/data_context/data_context/abstract_data_context.py", line 38, in <module> from great_expectations.core import ExpectationSuite File "/opt/conda/envs/my_env/lib/python3.8/site-packages/great_expectations/core/__init__.py", line 3, in <module> from .domain import Domain File "/opt/conda/envs/my_env/lib/python3.8/site-packages/great_expectations/core/domain.py", line 8, in <module> from great_expectations.core.id_dict import IDDict File "/opt/conda/envs/my_env/lib/python3.8/site-packages/great_expectations/core/id_dict.py", line 5, in <module> from great_expectations.core.util import convert_to_json_serializable File "/opt/conda/envs/my_env/lib/python3.8/site-packages/great_expectations/core/util.py", line 34, in <module> from IPython import get_ipython File "/opt/conda/envs/my_env/lib/python3.8/site-packages/IPython/__init__.py", line 30, in <module> raise ImportError(
可行解决方向
- 匹配IPython兼容版本:Great Expectations对IPython有版本要求,针对Python3.8,可尝试安装
ipython==7.34.0,执行命令:pip install ipython==7.34.0 - 重装IPython修复损坏:如果IPython安装不完整或文件损坏,执行
pip install --force-reinstall ipython强制重装 - 调整Docker依赖安装顺序:在Dockerfile里先安装IPython,再安装Great Expectations,避免依赖冲突
- 轻量安装Great Expectations:若不需要IPython相关交互功能,可执行
pip install great-expectations --no-deps,再手动安装核心依赖(注:此方式会缺失部分功能,按需使用) - 检查conda环境有效性:确保Docker中conda环境激活正确,没有混用系统Python和conda环境的包
内容的提问来源于stack exchange,提问作者Jed
相关产品推荐
相关产品推荐

