django-herokuがインストール出来ない
pipでdjango-herokuをインストールしようとするとdjango-herokuが依存しているpsycopg2
がコンパイルにコケてインストール出来ないことがあります。
Macの場合
$ brew install postgresql
をしてから、インストールし直せば、大抵はインストール出来るようになりますが、それでもなおインストール出来ない時の回避策のご紹介。
回避策
一番手っ取り早いのは、原因であるpsycopg2
をインストールしないのが一番の解決法です。
ただ、普通にdjango-heroku
をインストールするとpsycopg2
もインストールされてしまうので、--no-deps
オプションを付けてインストールしてあげます。
$ pip install --no-deps django-heroku
--no-deps
は依存パッケージを同時にインストールしないようにするオプションです。
こうすると、django-heroku
のみがインストールされます。
当然、django-heroku
の依存パッケージをインストールしていないのでこのままでは使い物になりません。
なので、psycopg2
以外の依存パッケージを手動でインストールしてあげます。
$ pip install dj-database-url whitenoise
psycopg2-binaryをインストールする
psycopg2
ないとダメじゃない?
はいそうです。
なので、psycopg2
の代わりにpsycopg2-binary
をインストールします。
$ pip install psycopg2-binary
psycopg2-binary
は名前から想像がつくかもしれませんが、コンパイル済みのpsycopg2
です。
これで、psycopg2
のインストールを回避しつつdjango-heroku
が利用できるようになります。
おまけ(requirements.txt)
requirements.txtに書いておきたい場合は、以下のように書くと良いです。
--install-option="--no-deps" django-heroku
dj-database-url
psycopg2-binary
whitenoise