Postgresql
在 virtualenv 中安裝後,django 找不到 psycopg2
我想將 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 路徑)。