[heroku] libSM.so.6のインポートエラーの解決法

heroku に OpenCV を利用した Django アプリをデプロイしたら

ImportError: libSM.so.6: cannot open shared object file: No such file or directory

というエラーを吐かれた。

どうにも中で使っているOpenCV(opencv-python)の都合らしい

共有ライブラリlibSM.so.6がないらしいので入れてあげることにする。

解決法

1.heroku-buildpack-aptを追加する

$ heroku buildpacks:add --index 1 https://github.com/heroku/heroku-buildpack-apt

2.Aptfileをつくる

libsm6
libxrender1
libfontconfig1
libice6

requirements.txtと同じところにおいておけば大丈夫。

3.デプロイ

$ git add .
$ git commit -m "add Aptfile"
$ git push heroku master

これで、解決。