[Django] Elastic BeanstalkにPillowをインストールした際のメモ
結構はまったのでメモ
Elastic Beanstalkにデプロイする前段階の知識
Elastic Beanstalkは.ebexteionsディレクトリ以下にインストールパッケージの設定などを配置する
forAWS/ .elasticbeanstalk/ # "eb init"で自動生成される .ebextentions/ # 環境に必要な設定を配置する requirements.txt # 使用するモジュール一覧 django-app/ # Djangoのプロジェクト
デプロイ実践
デプロイの仕方など細かい操作は本記事では端折る
(参考(amazonの公式ページが非常に丁寧)
(参考(amazonの公式ページが非常に丁寧)
Djangoアプリで画像関連を扱うにはPillowモジュールを多用すると思う。
通常はrequirements.txtにPillowを指定しておけばうまくいきそうに思える。
requirements.txt
Pillow==3.0.0
しかしこれだけだとダメで、deploy時にエラーになってしまう。
そこで以下の設定が必要
そこで以下の設定が必要
.ebextentions/00_pkg.config
package: yum: libjpeg-turbo-devel: []
以上で"eb deploy"で無事デプロイが通った
おまけ
“eb deploy"で失敗時など、ログを見たくてすぐに"eb logs"とやると失敗することが多い
$ eb logs ERROR: Environment named YourDev is in an invalid state for this operation. Must be Ready.
そんな時は慌てずに、しばらくしてからアクセスすること