我使用Macports安装了Pythong2.6,psycopg2和pgAdmin3.我的settings.py是:
DATABASE_ENGINE = 'postgresql_psycopg2' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
DATABASE_NAME = 'mysite' # Or path to database file if using sqlite3.
DATABASE_USER = 'postgres' # Not used with sqlite3.
DATABASE_PASSWORD = '' # Not used with sqlite3.
DATABASE_HOST = '' # Set to empty string for localhost. Not used with sqlite3.
DATABASE_PORT = '' # Set to empty string for default. Not used with sqlite3.
Run Code Online (Sandbox Code Playgroud)
我运行python manage.py syncdb时得到的错误是:
Traceback (most recent call last):
File "manage.py", line 11, in …Run Code Online (Sandbox Code Playgroud) 我使用postgresql迁移Django时遇到了一些麻烦.
这是我第一次使用Django,我只是按照教程.
正如Django网站上所建议的那样,我创建了一个运行Django项目的virtualenv.
接下来,我使用以下设置创建了一个postgresql数据库:
在settings.py中,我为数据库设置了以下值:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'django_tutorial',
'USER': 'johan',
'PASSWORD': '1234',
}
}
Run Code Online (Sandbox Code Playgroud)
使用apt-get安装psycopg2时,我收到以下消息:
(venv)johan@johan-pc:~/sdp/django_tutorial/venv/django_tutorial$ sudo apt-get install python-psycopg2
Reading package lists... Done
Building dependency tree
Reading state information... Done
python-psycopg2 is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 95 not upgraded.
Run Code Online (Sandbox Code Playgroud)
据我所知,这意味着安装了psycopg2.
跑步时
$python manage.py migrate
Run Code Online (Sandbox Code Playgroud)
我收到以下错误消息:
django.core.exceptions.ImproperlyConfigured: Error loading psycopg2 module: No module named psycopg2
Run Code Online (Sandbox Code Playgroud)
如果答案需要,我可以提供整个堆栈跟踪.
有人可以解释我能做些什么来解决这个问题吗?我也在谷歌寻找一个没有运气的解决方案.