我想将 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': '',
}
}
答案1
使用 sudo ( sudo pip install ...
) 安装会导致安装的文件由 root 拥有,而 Django(无需 sudo 即可运行)无法读取它们。您可以sudo pip uninstall psycopg2
然后在不使用 sudo 的情况下进行安装。(如果这不起作用,请先尝试sudo chown -R $USER ~/.virtualenvs/myvenv
(假设这是您的虚拟环境路径)。