Aws lambdaを使用して、numpyモジュールでスクリプトを実行すると、次のエラーが表示されます。
モジュール「プロセス」をインポートできません:/var/task/numpy/core/multiarray.so:無効なELFヘッダー
この問題はnumpy自体に関連していますか、特にawsラムダのnumpyに関連していますか?無効なELFヘッダーとは何ですか?
編集:
この回答に記載されているように、これはネイティブコードの実行に関連していると思います AWS Lambdaでnodejs "ref"モジュールを使用する場合の "無効なELFヘッダー"
問題は、私のローカルコンピュータのアーキテクチャに準拠したmultiarray.soファイルに関係しています。 ec2インスタンスを起動し、必要な依存関係を持つvirtualenvを作成します。これにより、Awsラムダで使用されている正しいアーキテクチャでコンパイルされます。次に、ec2インスタンスからvirtualenvをダウンロードして、ラムダに使用します。
私は同様のエラーがありました:
/var/task/bcrypt/_bcrypt.so: undefined symbol: PyInt_FromLong
以前の答えは私のPyhon:3.6ラムダではうまくいかなかったようです。
私はこの記事を使用して成功しました: https://medium.com/i-like-big-data-and-i-cannot-lie/how-to-create-an-aws-lambda-python-3- 6-deployment-package-using-docker-d0e847207dd6