Djangoアプリケーションをherokuにデプロイする際に注意するべきポイントを紹介します。エラーが出たときほど成長ができると感じますが、「とにもかくにも早くエラーを解消したい!」という方の手助けになればと思います。
【注意点②】と【注意点③】は、解決はしましたが、「何故解決したのか」は明確に分かっていません。お手元の環境や状況では解決しない可能性もあるかもしれません。
注意点① 容量が500Mを超えていないか
herokuはSlug Sizeというものがあり、それを500M超えるとデプロイできません。下記のエラーが出ます。
remote: -----> Compressing...
remote: ! Compiled slug size: 700M is too large (max is 500M).
remote: ! See: http://devcenter.heroku.com/articles/slug-size
私はPyTorchの容量がとても大きく、デプロイ時にエラーが出ました。PyTorchがGPUのままでは到底500Mに抑えることはできないため、CPUでインストールする方法で解決しました。
参考記事
HerokuアプリのSlug Sizeを簡単に減らす方法
PyTorchを使ったアプリをHerokuにディプロイする際の注意点
[Herokuで機械学習モデルを利用したアプリのデプロイ時の500MB制限回避策]
(https://qiita.com/nori2711/items/615183fdc6858758d380)
注意点② gitignoreにdb.sqlite3が入っていないか
heroku上でログインやサインアップなどをしようとするとエラーが出てしまいましたが、gitignoreファイルに記述されているdb.sqlite3を削除したら解消されました。疑問なのはgitignore.ioで「Django」と検索するとdb.sqlite3が入っていることです。まだまだherokuとDjangoについて分からないことが多いなぁと感じました。
注意点③ settings.pyに「import django_heroku と django_heroku.setting(locals())」が残っていないか
初回デプロイ時は確か記述したままgit pushした気がしますが、それ以降はコメントアウトか削除しておかないとgit pushできませんでした。これも注意点②と同じでセオリー通りではなく不思議なのですが、現状アプリは正常に動いています。こちらも更新の余地ありです。
今回は特に悩まされたエラーに対する注意点を紹介しました。
今後も手強いエラーが出た際は、解決策とともに追記していこうと思います。