首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无服务器-python-需求不起作用

问无服务器-python-需求不起作用
EN

Stack Overflow用户
提问于 2022-06-16 11:46:29
回答 2查看 298关注 0票数 0

我有一个带有无服务器框架的"hello-world“python项目。我正在尝试部署一个需要numpy的简单lambda函数。但是目前,当我运行sls deploy并尝试调用lambda函数时,我会得到一个internal server error。

以下是我的项目结构:

代码语言:javascript
复制
test_api/
    serverless.yml
    test_api.py
    Pipfile

在test.py中,我有:

代码语言:javascript
复制
import numpy as np


def handler(event, context):
    return {
        "statusCode": 200,
        "body": f"numpy version = {np.__version__}"
    }

在我的serverless.yml里

代码语言:javascript
复制
service: test_api
frameworkVersion: "3"
provider:
  name: aws
  runtime: python3.8
  region: eu-west-3
  stage: dev

functions:
  test:
    handler: tes_api.handler
    events:
      - http:
          path: test_api
          method: get
          cors: true

plugins:
  - serverless-python-requirements

在Pipfile中:

代码语言:javascript
复制
[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true

[dev-packages]

[packages]
numpy = "*"

[requires]
python_version = "3.8"

当我部署时,我没有错误,但是当我调用端点时,我得到:

​

当我在AWS上测试它时:

​

如果我从Pipfile和lambda中删除numpy (我只是在lambda中返回"hello“),那么一切都很好。

为什么要得到这个错误,以及如何修复它?

EN

回答 2

Stack Overflow用户

发布于 2022-06-16 19:08:11

这是您的serverless.yml文件中的错误吗?

你有

代码语言:javascript
复制
handler: tes_api.handler 

我想应该是test_api.handler

票数 0
EN

Stack Overflow用户

发布于 2022-11-03 16:20:16

从项目的结构来看,您似乎错过了文献资料中提到的一个重要步骤--不使用package.json。您需要在项目目录中运行以下命令:

代码语言:javascript
复制
$ sls plugin install -n serverless-python-requirements

这将自动将插件添加到您的项目的package.json和插件部分的serverless.yml。

如果希望从头开始,那么在项目目录的active venv中运行以下命令:

代码语言:javascript
复制
$ npm init

然后

代码语言:javascript
复制
$ npm install --save serverless-python-requirements

我将在您的serverless.yml中添加以下内容

代码语言:javascript
复制
# serverless.yml

plugins:
  - serverless-python-requirements

custom:
  pythonRequirements:
    dockerizePip: non-linux

然后在您的venv处于活动状态时进行部署。请注意,serverless-python-requirements需要码头才能工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72645324

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档