导入错误:无法从“cdworkshop.cdworkshop\u堆栈”导入名称“CdworkshopStack”

2024-10-03 11:14:56 发布

您现在位置:Python中文网/ 问答频道 /正文

尝试运行cdk diff时出现以下错误:

    Traceback (most recent call last):
  File "/Users/***/cdworkshop/app.py", line 5, in <module>
    from cdworkshop.cdworkshop_stack import CdworkshopStack
ImportError: cannot import name 'CdworkshopStack' from 'cdworkshop.cdworkshop_stack'

这是我的app.py代码:

    #!/usr/bin/env python3

from aws_cdk import core

from cdworkshop.cdworkshop_stack import CdworkshopStack


app = core.App()
CdworkshopStack(app, "cdworkshop", env={'region': 'us-west-2'})

app.synth()

为了好玩,这里是定义类的地方:

from aws_cdk import (
    core,
    aws_lambda as _lambda,
)


class CdkworkshopStack(core.Stack):

    def __init__(self, scope: core.Construct, id: str, **kwargs) -> None:
        super().__init__(scope, id, **kwargs)

        # Defines an AWS Lambda resource
        my_lambda = _lambda.Function(
            self, 'HelloHandler',
            runtime=_lambda.Runtime.PYTHON_3_7,
            code=_lambda.Code.asset('lambda'),
            handler='hello.handler',
        )

我不知道是什么问题!这是一个路径问题吗?任何帮助都将不胜感激


Tags: lambdafrompycoreimportselfenvaws
1条回答
网友
1楼 · 发布于 2024-10-03 11:14:56

您正在运行的文件-app.py位于名为cdworkshop的文件夹中。所以,

from cdworkshop.cdworkshop_stack import CdworkshopStack

正在同一文件夹中名为cdworkshop_stack.py的文件中查找名为CdworkshopStack的类。我猜导入失败是因为该文件或类不存在

要让您的程序从安装在site-packages中的包导入(这可能是您真正想要的),只需更改app.py所在文件夹的名称即可

相关问题 更多 >