サーバーレス フレームワークで作成されたアプリをデプロイしようとしています。ただし、必要なパッケージをいくつか追加したため、すべてが壊れています。
これは私のrequirements.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 インストールを試してみましたが、何も機能しません。requirements.txt を PyJWT と SQLAlchemy だけにしておけば、デプロイは機能します (ローカル python または docker を使用)。「SLS_DEBUG」環境変数も追加しましたが、追加情報や関連情報が表示されません。