CDK Workshop执行pytest遇ImportError: No module named aws_cdk问题求助
问题描述
跟随CDK workshop学习,在「测试构造 -> 断言测试」环节执行pytest命令时,触发如下错误:
tests/unit/test_cdk_workshop.py:1: in <module> from aws_cdk import ( E ImportError: No module named aws_cdk
已完成的操作:
- 激活虚拟环境:
source .venv/bin/activate - 安装
requirements.txt依赖:aws-cdk-lib==2.37.0 constructs>=10.0.0,<11.0.0 cdk-dynamo-table-view==0.2.0 - 安装
requirements-dev.txt依赖:pytest==6.2.5
预期执行pytest后的输出:
$ pytest ===============session starts ======================================= platform linux -- Python 3.9.6, pytest-6.2.5, py-1.10.0, pluggy-1.0.0 rootdir: ... collected 1 item tests/unit/test_cdk_workshop.py . [100%] ======================================================================
排查与解决方案
1. 修正测试文件的导入语句
你安装的是CDK v2版本(包名aws-cdk-lib),但测试代码里用了CDK v1的导入路径aws_cdk。打开tests/unit/test_cdk_workshop.py,将导入语句从:
from aws_cdk import (...)
修改为:
from aws_cdk_lib import (...)
2. 确认虚拟环境激活状态与依赖安装
执行以下命令查看当前环境的已安装包,确认aws-cdk-lib存在:
pip list
如果未找到该包,重新激活虚拟环境并重新安装依赖:
source .venv/bin/activate pip install -r requirements.txt -r requirements-dev.txt
3. 确保pytest使用虚拟环境内的解释器
检查pytest的执行路径,确认它属于虚拟环境:
which pytest
若输出不是.venv/bin/pytest,直接调用虚拟环境内的pytest执行测试:
.venv/bin/pytest
内容的提问来源于stack exchange,提问作者Kylian
相关产品推荐
相关产品推荐

