如何修复损坏的AWS CDK安装?解决ImportError问题
AWS CDK 导入错误:无法导入 'AssetManifestOptions' 的解决方案
问题根源
你的虚拟环境中同时安装了AWS CDK v2核心包aws-cdk-lib==2.59.0和大量CDK v1的旧包(如aws-cdk.assets==1.187.0等)。CDK v2完全重构了包结构,v1与v2包无法在同一环境共存,版本冲突直接导致了导入失败。
解决步骤
清理当前虚拟环境
- 退出虚拟环境:
deactivate - 删除整个虚拟环境目录:
rm -rf .venv
- 退出虚拟环境:
重建虚拟环境并激活
- 创建对应Python版本的虚拟环境:
python3.8 -m venv .venv - 激活虚拟环境:
- Linux/macOS:
source .venv/bin/activate - Windows:
.venv\Scripts\activate
- Linux/macOS:
- 创建对应Python版本的虚拟环境:
重新安装正确依赖
- 确保项目的
requirements.txt仅包含CDK v2兼容包,核心依赖为aws-cdk-lib==2.59.0,移除所有aws-cdk.*格式的v1包 - 安装依赖:
pip install -r requirements.txt
- 确保项目的
验证修复效果
- 运行
cdk list或cdk synth测试命令是否正常执行 - 检查包列表:
pip freeze | grep aws,确认输出仅包含aws-cdk-lib和v2资产包(如aws-cdk.asset-awscli-v1),无v1版本包
- 运行
注意事项
- 不同版本的CDK项目(v1、v2)必须使用独立虚拟环境,避免依赖污染
- 初始化新CDK项目时,默认使用v2版本(
cdk init app --language python),不要手动引入v1包
内容的提问来源于stack exchange,提问作者Matthew Lynn
相关产品推荐
相关产品推荐

