Running cdk synth on Azure devops pipeline gives ImportError: No module named aws_cdk

Running cdk synth on Azure devops pipeline gives ImportError: No module named aws_cdk

我在 azure devops 中有以下管道。我已经在本地测试了 cdk 项目,它工作正常。 当我在 azure devops 上 运行 相同时,它给出了一个错误。

流水线

trigger:
- master

pool:
  vmImage: 'ubuntu-latest'

steps:
- task: NodeTool@0
  inputs:
    versionSpec: '12.x'
  displayName: 'Install Node.js'

- script: |
    sudo npm install -g aws-cdk
    python3 -m pip3 install -r requirements.txt
    pip3 install aws_cdk.aws_ec2 aws_cdk.core
    cdk synth
  displayName: 'npm install and build'

错误

2020-09-16T09:20:50.1136286Z Installing collected packages: publication, attrs, cattrs, six, python-dateutil, zipp, importlib-resources, typing-extensions, jsii, aws-cdk.cloud-assembly-schema, aws-cdk.cx-api, aws-cdk.region-info, constructs, aws-cdk.core, aws-cdk.aws-iam, aws-cdk.aws-kms, aws-cdk.aws-cloudwatch, aws-cdk.assets, aws-cdk.aws-events, aws-cdk.aws-s3, aws-cdk.aws-s3-assets, aws-cdk.aws-logs, aws-cdk.aws-ssm, aws-cdk.aws-ec2
2020-09-16T09:20:51.0427755Z Successfully installed attrs-20.2.0 aws-cdk.assets-1.63.0 aws-cdk.aws-cloudwatch-1.63.0 aws-cdk.aws-ec2-1.63.0 aws-cdk.aws-events-1.63.0 aws-cdk.aws-iam-1.63.0 aws-cdk.aws-kms-1.63.0 aws-cdk.aws-logs-1.63.0 aws-cdk.aws-s3-1.63.0 aws-cdk.aws-s3-assets-1.63.0 aws-cdk.aws-ssm-1.63.0 aws-cdk.cloud-assembly-schema-1.63.0 aws-cdk.core-1.63.0 aws-cdk.cx-api-1.63.0 aws-cdk.region-info-1.63.0 cattrs-1.0.0 constructs-3.0.4 importlib-resources-3.0.0 jsii-1.12.0 publication-0.0.3 python-dateutil-2.8.1 six-1.15.0 typing-extensions-3.7.4.3 zipp-3.1.0
2020-09-16T09:20:55.2430033Z Traceback (most recent call last):
2020-09-16T09:20:55.2430990Z   File "app.py", line 3, in <module>
2020-09-16T09:20:55.2431651Z     from aws_cdk import core
2020-09-16T09:20:55.2432408Z ImportError: No module named aws_cdk
2020-09-16T09:20:55.2468987Z Subprocess exited with error 1

app.py

#!/usr/bin/env python3

from aws_cdk import core

from ec2.ec2_stack import Ec2Stack


app = core.App()
env = core.Environment(account="95XXXXXXXX174", region="us-east-1")
stack=Ec2Stack(app, "ec2",env=env)
app.synth()

谁能在这里指导我。

检查您的 cdk.json 文件,尝试使用 python3 app.py 而不是 python app.py,:

{
    "app": "python3 app.py"
}

我在 cdk.json 中使用 python app.py 时遇到了同样的问题。