创建读取GCS中Parquet文件的Vertex AI流水线时导入aiplatform组件报错
创建读取GCS中Parquet文件的Vertex AI流水线时导入aiplatform组件报错
我之前也碰到过一模一样的问题,这基本是kfp(Kubeflow Pipelines)和google-cloud-pipeline-components版本不兼容导致的。你看到的这个报错:
Import error: Cannot import name '_dynamic' from 'kfp.components' (/opt/conda/lib/python3.10/site_packages/kfp/components/init.py)
核心原因是:kfp在2.x版本的迭代里重构了组件模块,移除了_dynamic这个内部模块,但你当前安装的google-cloud-pipeline-components版本还在尝试调用这个已经不存在的模块,所以就抛出了导入错误。
给你几个可行的解决办法:
- 先确认当前两个库的版本,执行命令:
pip show kfp google-cloud-pipeline-components - 根据版本情况调整:
- 如果你的kfp是2.x版本,就安装和它大版本匹配的google-cloud-pipeline-components(比如kfp 2.x对应组件的2.x版本),执行类似命令:
pip install --upgrade google-cloud-pipeline-components==2.0.0 - 要是不想升级组件,也可以把kfp降级到1.x的稳定版本,同时搭配适配的组件版本,比如:
pip install kfp==1.8.20 google-cloud-pipeline-components==1.0.44
- 如果你的kfp是2.x版本,就安装和它大版本匹配的google-cloud-pipeline-components(比如kfp 2.x对应组件的2.x版本),执行类似命令:
- 安装完成后,重新运行你的导入代码
from google_cloud_pipeline_components import aiplatform as gcc_aip,应该就能正常导入了。
简单来说就是把两个库的版本对齐,避免跨版本的依赖冲突问题。
备注:内容来源于stack exchange,提问作者Geeglu
相关产品推荐
相关产品推荐

