(5)未経験でデータ分析の仕事に転職したひとの成長と迷走の過程を記録する場です暖かいルートを検索するWebアプリを作ろうとした話_うまくいかなかった部分こちらでふりかえりを書いたWebアプリについて、デプロイでうまくいかなかった部分を記録しておく。概要ローカルでは一応意図した形で動いてくれていたDjangoをHerokuにデプロイしたところ、エラーが出てうまく動かなかった。そのエラーを解決することができなかった。自分の理解では、利用しているライブラリが参照しているファイルをうまく参照させることができなかったのでエラーとなったと認識している。コードはここにいったん置いた。error」という表示になっていた。その下に表示されていた文に従い、ログを確認した。file")計算して求めたルートを地図にプロットするのに、osmnxというライブラリを利用している。osmnxではRtreeというライブラリが使用されている。fileが見つからなかったことによりエラーになっていると理解した。あり、.venv/lib/python3.7/site-packages/rtree/core.pyの125行目付近を確認した。os.name)lib_nameが定義できていなかった(環境変数の中にSPATIALINDEX_C_LIBRARYがなく、またspatialindex_cというライブラリも見つけられなかった)ためにエラーとなっていたことがわかった。ターミナルでPythonを立ち上げて、ローカル環境だとどうなっているか確認してみた。find_library('spatialindex_c')の方が実行されたのだろうこと、またspatialindex_cはローカル環境だと/usr/local/lib/libspatialindex_c.dylibにあるのだということがわかった。検索してみると、ローカル環境で同じような問題にぶつかっている人がいた。listで確認してみるとインストール済みだった。そのため、ローカルでは問題が起きなかったのだろうと思った。したら本番環境でも参照できるようになるか考えるローカル環境では該当ファイルが存在していたため参照できたが、本番環境には該当のファイルがないためエラーになる。pipでインストールできるファイルならrequirements.txtに書いておけるけど、そうではなさそうだ。それなら本番環境にもそのファイルを置いて、参照できればとりあえずは解決できるのではと考えた。/usr/local/lib/libspatialindex_c.dylibをコピーして、本番環境のプロジェクト直下にlibディレクトリを作り、置いてみた。これが正しい行為なのかわからないけど、環境変数にパスを設定してみた。configで、登録できていることが確認できた。--tailでログを確認した。header表示が前回と変わっている。ctypes.CDLL(lib_name)が表示されているので、libspatialindex_cを見つけること自体はできたと考えてよいのだろうか。headerと表示されている。検索すると、違うOSでのビルドだから読み込めない場合に表示されるという記載があった。ローカルではエラーが起きなかったのは何が違うのか確認する」に記載した.venv/lib/python3.7/site-packages/rtree/core.pyで、もう少し上の方に以下のような記載箇所がある。spatialindex_c.dll")このspatialindex_c.dllの方が必要なのかなと思い(多分違う)、探したが見つけられなかった。諦めるいったん諦める。知識がついたらまた考えてみる。