web-dev-qa-db-ja.com

virtualenvにインストールした後、Djangoによってpsycopg2が見つかりません

Djangoでpostgresqlを使用したいので、次のようにしました:

Sudo apt-get install libpq-dev python-dev
Sudo apt-get update
workon myenv
Sudo pip install psycopg2

そして、私の設定後settings.py正しく、私は実行します

./manage.py syncdb

しかし、例外がスローされます:

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

データベース構成:

DATABASES = {
    'default': {
        'ENGINE': 'Django.db.backends.postgresql_psycopg2',
        'NAME': 'mydb',
        'USER': 'postgres',
        'PASSWORD': 'password1234',
        'Host': 'localhost',
        'PORT': '',
    }
}
7
user236239

Sudo(Sudo pip install ...)を使用してインストールすると、インストールされたファイルがrootによって所有され、Django(Sudoなしで実行)はそれらを読み取ることができません。Sudo pip uninstall psycopg2をインストールしてからインストールできますSudoなし(それが機能しない場合は、最初にSudo chown -R $USER ~/.virtualenvs/myvenvを試してください(それがvirtualenvパスであると想定しています)。

3
xofer