使用虚拟环境执行cdk diff时出现ModuleNotFoundError: No module named 'aws_cdk'
AWS CDK
cdk diff 报错 ModuleNotFoundError: No module named 'aws_cdk' 排查方案 问题场景
在VS Code中使用Virtualenv配置AWS CDK Python项目,执行以下步骤后:
- 安装Node.js及全局aws-cdk CLI
- 安装Python3并创建虚拟环境
.venv - 激活虚拟环境后安装
requirements.txt(含aws-cdk-lib==2.56.1、constructs>=10.0.0,<11.0.0)和requirements-dev.txt依赖 - 运行
cdk diff时抛出ModuleNotFoundError: No module named 'aws_cdk'
但VS Code可通过Ctrl+点击跳转至aws_cdk代码,虚拟环境目录.venv/Lib/site-packages下也存在aws_cdk文件夹。
排查与解决步骤
1. 确认CDK CLI使用的Python环境
CDK CLI可能未关联到虚拟环境的Python解释器:
- 激活虚拟环境后,执行命令查看当前Python路径:
# macOS/Linux/WSL which python # Windows where python - 运行
cdk doctor,检查输出中Python字段的路径是否与上述路径一致 - 若不一致,设置环境变量指定虚拟环境的Python路径:
之后重新执行# macOS/Linux/WSL export CDK_PYTHON=.venv/bin/python # Windows set CDK_PYTHON=.venv\Scripts\python.execdk diff
2. 验证虚拟环境激活状态
- 确认运行
cdk diff前,终端提示符前有.venv标识(说明虚拟环境已激活) - Windows系统注意使用正确的激活命令:
.venv\Scripts\activate,而非类Unix系统的source .venv/bin/activate
3. 重装依赖并验证
- 激活虚拟环境后,卸载现有相关依赖:
pip uninstall -y aws-cdk-lib constructs - 重新安装项目依赖:
pip install -r requirements.txt - 执行
pip list,确认aws-cdk-lib和constructs已出现在虚拟环境的依赖列表中
4. 同步VS Code的Python解释器配置
- 按
Ctrl+Shift+P打开命令面板,选择Python: Select Interpreter,选中.venv目录下的Python解释器 - 重启VS Code终端,确保终端使用的是选中的虚拟环境解释器
内容的提问来源于stack exchange,提问作者mrc
相关产品推荐
相关产品推荐

