我正在尝试部署使用无服务器框架创建的应用程序。但是,由于添加了一些我需要的包,整个事情都中断了。
这是我的要求.txt
dlib==19.21.1
numpy==1.18.0
opencv-python==4.4.0.42
PyJWT==2.0.0
SQLAlchemy==1.3.22
这是我的 serverless.yml
custom:
pythonRequirements:
dockerFile: ./Dockerfile
dockerizePip: true
slim: true
useDownloadCache: true
useStaticCache: true
provider:
name: aws
runtime: python3.7
stage: dev
region: us-west-2
timeout: 29
httpApi:
cors: true
functions:
selfieCapture:
handler: services/widget/transaction/selfie/handler.main
events:
- httpApi:
path: /v1/widget/transaction/selfie
method: POST
我正在使用 Windows 环境。破坏一切的包是 dlib。在遵循一些教程之后,我能够在本地安装 dlib,但是,每当我运行无服务器部署时,python 包都会留在我的项目文件夹中,并且会弹出此错误:
Error: ENOTDIR: not a directory, scandir 'C:\Users\Manhu\PROJECTS\services-python\_dlib_pybind11.cpython-37m-x86_64-linux-gnu.so'
在尝试使用 docker 之前,我尝试通过添加 pythonBin、删除 Dockerfile 选项和 DockerizePip 来安装我自己的 python,但是没有任何效果。如果我只留下 PyJWT 和 SQLAlchemy 的 requirements.txt,则部署工作(使用本地 python 或 docker)。我还添加了“SLS_DEBUG”环境变量,但没有显示其他或相关信息我该怎么办?