aws 部署python lambda_python代码可以部署在aws lambda中,但不能部署在localstack中

我开发了一个python(v3.6)项目,在我的

AWS生产平台

. 此项目使用以下依赖项:

- awscli==1.16.10

- boto3==1.9.0

- botocore==1.12.0

- psycopg2==2.7.5

- SQLAlchemy==1.2.11

- SQLAlchemy-Utils==0.33.3

- jsonschema==2.6.0

现在我想使用localstack在lambda中部署这个项目,我可以调用这个lambda来测试我的调用代码(而不是实际工作的项目代码!)

要部署项目,首先安装依赖项并创建zip文件:

pip install -r requirements.txt --upgrade -t ./

chmod -R 755 .

zip -r lambda.zip .

然后,我使用命令(在运行localstack时):

aws lambda --region eu-east-1 --endpoint localhost:4574 \

create-function --function-name mylambda \

--zip-file fileb://lambda.zip

但是,它从localstack返回一个错误:

....

localstack_1 | from functools32 import lru_cache

localstack_1 | ImportError: No module named functools32

....

localstack_1 | raise Exception('Unable to get handler function from lambda code.', e)

localstack_1 | Exception: ('Unable to get handler function from lambda code.', ImportError('No module named functools32',))

jsonschema使用模块functools32,它仅适用于python 2.7或<=3.2。我正在使用Python3.6,因此无法安装它。另外,当我在我的aws生产平台中部署相同的lambda.zip时,没有这个错误。

我真的不知道怎么解决这个问题。如果有人想查一下,我会非常感激的。

当做,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值