Help us understand the problem. What is going on with this article?

(Djangoメモ)データベースにPostgreSQLを設定

More than 5 years have passed since last update.

前回と同様にVagrant環境で実験。PostgreSQLは既に入っていて、Djangoのテストページまで表示できているのが前提。

まずは settings.py

settings.py
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'myproject',
          'USER':'vagrant',
          'PASSWORD':'************',
          'HOST':'',
    }
}

で、

python manage.py sql [APPNAME]

すると案の定一筋縄にはいかなかった。以下のエラーになる。

django.core.exceptions.ImproperlyConfigured: Error loading psycopg2 module: No module named psycopg2

pycopg2 というモジュールが無いとのこと。そこで以下を試す。

pip install psycopg2

が、どうも失敗しているっぽい。実行中の、ごちゃごちゃとメッセージが出てくる中に以下のような行も含まれていた。

Error: pg_config executable not found.

pip freezeで確認するとやはり失敗している模様。上のエラーでググる。

これかな?
http://stackoverflow.com/questions/8237842/django-core-exceptions-improperlyconfigured-error-loading-psycopg-module-no-mo

以下を実行。

sudo yum install python-psycopg2

Complete!

こっちは成功。そこでもう一度。

pip install psycopg2

ところがエラーメッセージは全く変わらず。 pg_config とはいかに?再度ググる。

これ?
http://stackoverflow.com/questions/11618898/pg-config-executable-not-found

試してみる。

sudo yum install postgresql-devel

Complete!

三度目の正直。

pip install psycopg2

Successfully installed psycopg2
Cleaning up...

できた!続いて以下にも再チャレンジ。

python manage.py sql [APPNAME]

django.db.utils.OperationalError: FATAL: database "myproject" does not exist

これは前にも見た。あとは PostgreSQL でデータベースを作れば問題なく動く。

こうしてやってみると MySQL のときと流れはほとんど一緒みたいだ。

juniskw
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away