我想用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)。