ModuleNotFoundError:没有名为 aws_cdk 的模块

新手上路,请多包涵

当我运行 cdk deploy 时,出现以下错误:

 Traceback (most recent call last):
  File "app.py", line 3, in <module>
    from aws_cdk import core
ModuleNotFoundError: No module named 'aws_cdk'

我用 npm 安装了 cdk

 npm install -g aws-cdk

我激活了虚拟环境

source .env/bin/activate

我正在使用 python3.8。我安装了 aws_cdk 依赖项

pip install -r requirements.txt

编辑 python 文件时,我能够导入 aws_cdk 并成功运行各个函数。我认为问题在于 cdk 位于 /usr 目录中:

 > which cdk
/usr/local/bin/cdk

而且我认为它使用的是我的 /usr/bin 中的 python 而不是虚拟环境。如何让 cdk 在我的虚拟环境中使用 python?

编辑:

要求.txt

 -e .

原文由 MoneyBall 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.3k
1 个回答

TLDR; .env/bin/pip3.8 install -r requirements.txt 在我这边解决了同样的问题

一旦你运行 source .env/bin/activate 它实际上在 .env/lib/python3.8/site-packages 上寻找 python 库(至少对我来说是这样!)。因此运行 cdk ls 调用 app.py 将在 venv 站点包中查找 aws_cdk,而不是从系统站点包中查找,只要 .env/pyvenv.cfg 下的“include-system-site-packages = false”

原文由 bigbro 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题