VSCodeのプラグインであるAWS Tookkitを使ってlambdaのローカルでバッグやデプロイを快適にしていたのだが、特定のパッケージが読み込めなくなってしまった。かなーーりハマったのでメモ
エラー内容Building SAM application…Running command: (not started) [/usr/local/bin/sam build –build-dir /tmp/aws-toolkit-vscode/….Building codeuri: . runtime: python3.8 metadata: {} functions: [‘funcname’]Running PythonPipBuilder:ResolveDependenciesBuild FailedError: PythonPipBuilder:ResolveDependencies – {python-docx==0.8.10(sdist)}
今回はたまたまpython-docxでつまづいたがググるといろいろなパッケージでも同じような現象が起きている模様。
解決策は「AWS Toolkitを使うのをやめてコマンドラインで実行」でOK。(おそらくToolkit内のバグ)
ビルドsam build –use-container[–use-container] が超ポイント。Docker コンテナ内でビルドをしてくれるようになる。ローカル実行sam local invoke funcnameデプロイsam deploy -g
その他のsam関連のコマンドがこちらにとってもわかりやすくまとまっていましたのでシェアしておきます。
今回の教訓:
複雑なコマンドをうまく隠蔽してくれるツールはとっても便利ではあるが、一枚レイヤーが被さるということはそのレイヤーの中身にも責任が生じる、ということ。
ツールの開発者も「なんかあったらコマンドでやれや」という心理があるやなしやで問題も放置されがちなんでしょうね。
おそらくRPAも同じ問題内包しているはず。ノンプログラミングで〜はいいけど、いざ何かあったらRPAツール自体のバグに苦しむケースが多そう。
RPAをバージョンアップしたらしたで全シナリオのテストどうすんの?などいろいろ闇が深そうである。
できるだけネイティブで行こう。
Please follow and like us:
kintoneとマネーフォワードの連携について相談させていただきないでしょうか?