You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS CDK项目pip3安装依赖冲突问题求助

AWS CDK v2依赖冲突解决步骤

问题根源

你遇到的冲突是因为环境中混入了AWS CDK v1版本的依赖包(比如aws-cdk-assets 1.204.0),CDK v1依赖constructs <4.0.0,但你使用的CDK v2(2.117.0)要求constructs >=10.0.0,<11.0.0,两者版本完全不兼容。

解决方案

1. 彻底清理并重建虚拟环境

虚拟环境隔离是避免依赖污染的最佳方式,先清理旧环境:

  • Linux/macOS:
    rm -rf .venv
    python3 -m venv .venv
    source .venv/bin/activate
    
  • Windows(PowerShell):
    Remove-Item -Recurse -Force .venv
    python -m venv .venv
    .venv\Scripts\Activate.ps1
    

2. 确保requirements.txt仅包含CDK v2依赖

你的现有配置是正确的,保持如下内容:

aws-cdk-lib==2.117.0
constructs>=10.0.0,<11.0.0

注意:不要添加任何CDK v1的包(比如aws-cdk-core、aws-cdk-assets单独指定v1版本),CDK v2的aws-cdk-lib已经包含了所有必要的核心依赖。

3. 强制重新安装依赖(跳过缓存)

执行以下命令,强制重新安装并忽略本地缓存,避免旧版本包干扰:

pip3 install --upgrade --force-reinstall -r requirements.txt --no-cache-dir

4. 卸载全局残留的CDK v1包(可选)

如果之前曾全局安装过CDK v1相关包,可能会影响虚拟环境,执行以下命令清理:

pip3 uninstall -y aws-cdk-core aws-cdk-aws-lambda aws-cdk-aws-iam aws-cdk-assets

5. 验证安装结果

安装完成后,运行以下命令确认依赖版本兼容:

pip3 list | grep -E "aws-cdk-lib|constructs|aws-cdk-assets"

正常输出应该是:

  • aws-cdk-lib 2.117.0
  • constructs 10.x.x(在10.0.0-11.0.0范围内)
  • aws-cdk-assets 2.x.x(与CDK v2版本匹配)

完成以上步骤后,就能正常使用Lambda、IAM、Lambda Layer等CDK模块了。

内容的提问来源于stack exchange,提问作者Riddhi Gala

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 10:17:10