psycopg2 não encontrado pelo django após a instalação no virtualenv

6

Eu quero usar o postgresql com o django, assim como o seguinte:

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

E depois de configurar meu settings.py corretamente, eu corro

./manage.py syncdb

Mas uma exceção é lançada:

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

A configuração do banco de dados:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'mydb',
        'USER': 'postgres',
        'PASSWORD': 'password1234',
        'HOST': 'localhost',
        'PORT': '',
    }
}
    
por Joren 12.08.2014 / 17:27

1 resposta

3

Instalar com sudo ( sudo pip install ... ) faz com que os arquivos instalados sejam de propriedade de root, e o Django (executado sem sudo) não pode lê-los. Você pode sudo pip uninstall psycopg2 e depois instalar sem sudo. (Se isso não funcionar, tente sudo chown -R $USER ~/.virtualenvs/myvenv first (assume que é o seu caminho virtualenv).

    
por 14.08.2014 / 15:50