提问人:jjk 提问时间:3/23/2022 更新时间:12/6/2022 访问量:500
无法将 AWS-CDK 类型“(cls: Runtime) -> Runtime”分配给类型“Runtime”
AWS-CDK Type "(cls: Runtime) -> Runtime" cannot be assigned to type "Runtime"
问:
我收到指向变量的 flycheck 错误:runtime=_lambda..
Argument of type "(cls: Runtime) -> Runtime" cannot be assigned to parameter "runtime" of type "Runtime" in function "__init__" Type "(cls: Runtime) -> Runtime" cannot be assigned to type "Runtime"
# create lambda function
# executed as root
function = _lambda.Function(self,
"lambda_function",
runtime=_lambda.Runtime.PYTHON_3_7,
handler="lambda_handler.main",
code=_lambda.Code.from_asset("./lambda"),
environment={
'EC2_INSTANCE_ID':
instance.instance_id,
'S3_OUTPUT':
output_s3.s3_url_for_object(),
'S3_INPUT':
input_s3.s3_url_for_object()
})
这是一个相当表面的IDE问题,代码本身是有效的
答:
8赞
gshpychka
3/24/2022
#1
这是 中的一个错误,CDK 用于将 TypeScript(编写 CDK 的语言)转换为 Python 的库。jsii
如果您使用的是 1.64.0 之前的版本,则可以使用强制转换来抑制错误:
import typing
...
function = lambda_.Function(
self,
"function",
...
runtime=typing.cast(lambda_.Runtime, lambda_.Runtime.PYTHON_3_7)
)
或者只是附加到行的末尾,以禁用该特定行上的类型检查。# type: ignore
评论
0赞
Gillfish
6/27/2023
从 CDK 版本 2.85.0 开始,CDK 似乎正在使用 jsii 1.84.0。由于带有修复程序的 jsii 版本位于该版本的 CDK 中,我希望这不再被标记为类型错误,但 PyCharm 2023.1.3 专业版仍然会标记它。
0赞
gshpychka
6/27/2023
@Gillfish我猜这是由于 PyCharm 检查器工作原理的一些细节。我会在 jsii 存储库中打开一个问题
下一个:如何更改 hugo 中的主页?
评论