0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

SAM で PuLPをローカル起動した時に苦労した話

Last updated at Posted at 2023-10-03

背景

 AWS Lambdaを利用してバックエンド開発を行っていた際、ローカルサーバーを起動した時にエラーが発生。PythonランタイムでPuLPと呼ばれるライブラリを使用していたのだが、デプロイ環境やpytest時には問題なく計算できるのに、ローカルサーバー起動時のみ計算できない。

目的

 AWS SAM にてPythonランタイムのLambda関数でPuLPライブラリを用いる際、ローカルサーバーでのプログラム実行時に発生した'PULP_CBC_CMD: Not AvailableによるPulpSolverErrorを調査した結果、原因と、間に合わせだが解決方法が分かったので共有する。
なお、私のデバイスのみでしか発生しない、もしくは解決しない可能性もある。

結論

原因

sam build実行時に生成される\.aws-sam\build\pulp\solverdir\cbc\linux\64\内のcbcというファイルのパーミッションが-rw-r--r--になっている。
このcbcファイルは-rwxr-xr-xでなければ使用できず、pip install pulp等でインストールすると-rwxr-xr-xになっているはずのファイル。

解決方法

 下記のようにコマンドを実行。カレントディレクトリはプロジェクトディレクトリ直下。

sam build
chmod +x /.aws-sam/build/pulp/solverdir/cbc/linux/64/cbc
sam local start-api
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?