如何在AWS Lambda中安装pydantic库?

Leo*_*meb 5 python flask aws-lambda serverless-framework pydantic

我正在从事一个使用无服务器框架、Flask 和 MongoDB 开发的项目。问题是当我尝试安装 pydantic 时,在回溯中说ModuleNotFoundError:没有名为 'pydantic_core._pydantic_core' 的模块,但在我的要求中指定了库。

是否有安装 pydantic 的表格,或者无法在 Lambda 的 AWS 中安装该库?

Cloudwatch 中的追溯

File "/var/task/app.py", line 5, in <module>
from pydantic import ValidationError
File "/var/task/pydantic/__init__.py", line 3, in <module>
import pydantic_core
File "/var/task/pydantic_core/__init__.py", line 6, in <module>
from ._pydantic_core import (
ModuleNotFoundError: No module named 'pydantic_core._pydantic_core'
[ERROR] Exception: Unable to import app.app
Traceback (most recent call last):
  File "/var/lang/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/var/task/wsgi_handler.py", line 115, in <module>
    wsgi_app = import_app(config)
  File "/var/task/wsgi_handler.py", line 48, in import_app
    raise Exception("Unable to import 
{}
".format(config["app"]))
Run Code Online (Sandbox Code Playgroud)

我尝试过降级 python、pydantic、Flask 的版本。我还指定了库 pydantic_core 但不起作用。

要求.txt

Flask==1.1.4
Werkzeug==1.0.1
markupsafe==2.0.1
pymongo==4.5.0
pydantic==2.2.1
pydantic_core==2.6.1
email-validator==2.0.0.post2
Run Code Online (Sandbox Code Playgroud)

无服务器.yml

service: users

frameworkVersion: "3"

custom:
  wsgi:
    app: app.app

provider:
  name: aws
  runtime: python3.11
  stage: dev
  region: us-west-2
  environment:
    MONGO_URI: <mongo_uri>

functions:
  api:
    handler: wsgi_handler.handler
    events:
      - httpApi: "*"

plugins:
  - serverless-wsgi
  - serverless-python-requirements
Run Code Online (Sandbox Code Playgroud)