在virtualenv中安装后,django找不到psycopg2

我想用Django的postgresql,所以做了以下几点:

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

并正确configuration我的settings.py后,我运行

 ./manage.py syncdb 

但是抛出一个exception:

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

数据库configuration:

 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'mydb', 'USER': 'postgres', 'PASSWORD': 'password1234', 'HOST': 'localhost', 'PORT': '', } } 

使用sudo( sudo pip install ...sudo pip install ...会导致已安装的文件被root用户所拥有,并且Django(无sudo运行)无法读取它们。 你可以sudo pip uninstall psycopg2 ,然后安装没有sudo。 (如果不行的话,先试试sudo chown -R $USER ~/.virtualenvs/myvenv (假设这是你的virtualenvpath)。