Назад | Перейти на главную страницу

psycopg2 не найден django после установки в virtualenv

Я хочу использовать postgresql с django, поэтому сделал следующее:

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': '',
    }
}

Установка с помощью sudo (sudo pip install ...) приводит к тому, что установленные файлы принадлежат пользователю root, и Django (запускаемый без sudo) не может их прочитать. Ты можешь sudo pip uninstall psycopg2 а затем установить без sudo. (Если это не сработает, попробуйте sudo chown -R $USER ~/.virtualenvs/myvenv сначала (предполагается, что это ваш путь virtualenv).