cエクステンションを使っているpythonパッケージをlambdaで動くようビルドする
Nov 20, 2020 06:44 · 313 words · 1 minute read
cエクステンションを使っているpythonパッケージをビルドするとビルドしたプラットフォーム固有のwheelファイルが生成される。 つまりLambda(Linux)上で動かしたいバイナリをビルドするときにmacOS上でやってしまうとうまくいかないということである。
macを使いながらLambda向けのwheelを得るには、Lambda環境に似せたDockerイメージを使ってそのなかでビルドする。
このコマンドでLambda向けのwheelファイルを作ることができる。
$ docker run --rm --volume $(pwd):/var/task \
lambci/lambda:build-python3.8 \
pip wheel {{ modulename }} -w /var/task
--volume $(pwd):/var/task
でコンテナ内:/var/taskに生成したファイルがホスト側の今いるディレクトリに置かれるのがミソ。