🚨

AWS Lambdaのレイヤーでnumpyを使うとエラーが出る

2024/11/02に公開

エラー2本立て

忘備録です。誰かの助けになれば幸せ

AttributeError: module 'os' has no attribute 'add_dll_directory'

lambdaのレイヤーでnumpyをインストールすると、importエラーが発生します。

[ERROR] AttributeError: module 'os' has no attribute 'add_dll_directory'

osとかdllってあるのでOS関係のエラーなのかなーと。
AWSではLinux上で実行されているため、Windowsでダウンロードしたライブラリだとエラーが出る感じらしいです。

WSLにてダウンロードし直し、再度アップロードしました。するとインポートエラーが出ました。

Error importing numpy: you should not try to import numpy from

[ERROR] Runtime.ImportModuleError: Unable to import module 'lambda_function': Error importing numpy: you should not try to import numpy from
        its source directory; please exit the numpy source tree, and relaunch
        your python interpreter from there.

有志の方がKlayersというnumpy, pandasをはじめとしたライブラリをアップロードしてくれてるらしいです。ありがたいですな。
それを利用しましょう。
https://github.com/keithrozario/Klayers/?tab=readme-ov-file#list-of-arns

バージョン、リージョン、htmlを選択し、ARNをコピーしてきてレイヤー追加します。

あとがき

ついでにPandasもこれ使いました。
水曜どうでしょうアマプラで見れるんですけどあれ結構おもろいですぞよ

Discussion