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
