简短说明
我在尝试将 Django 应用程序(当前设置为 SQLite3)连接到我的 Ubuntu 服务器上新创建的 PostgreSQL 时遇到了许多问题。
问题
任何人都可以分享他们在这方面的成功吗?是否有一个很好的分步教程来做到这一点?或者至少对如何调试有用的指针?
到目前为止的步骤(背景信息)
1) 在 this 之后,我在我的 Ubuntu 服务器上安装了 PostgreSQL。教程。请注意,这产生了零错误。
2) 我配置了我的 Django settings.py,如下所示
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'mytestdb',
'USER': 'mux_user',
'PASSWORD': 'mux',
'HOST': '192.168.1.111',
'PORT': '',
}
}
3) 运行 Django 的“syncdb”。这产生了以下错误。
django.core.exceptions.ImproperlyConfigured: Error loading psycopg module: No module named psycopg
4) 尝试使用 PIP、easy_install 和 setup.py 安装 psycopg。所有人都遇到了无法找到 pg_config 的相同失败。
5) 谷歌告诉我,我需要安装 libpq-dev 和 python-dev 才能编译 psycopg 包。这是我对理解自己在做什么失去信心的地方。我知道这两个包是为了让我编译python源,但是真的有必要这样做吗?
系统信息
客户:
操作系统:OS X Snow Leopard-10.6.6
Django:版本 1.2.5
Python:2.7(运行 virtualenv)
即将成为客户
操作系统:Windows XP/7
运行上述 python 环境的捆绑可执行文件
服务器:
操作系统:Ubuntu 10.10(服务器,无 gui)
PostgreSQL:8.4(这是 apt-get install 下载的)
更新
我确实在 documentation 中找到了它谈到需要安装 psycopg 的地方。我想问题从我真的需要这个转移到在我的客户上安装 psycopg 的最佳方法是什么。
2011 年 5 月 13 日更新:上午 9:20
与同事交谈后,我相信 this SO question解决了我的大部分问题
最佳答案
我不是 Python 人,但您确实需要安装 PostgreSQL 库,因为 PostgreSQL 的 Python 接口(interface) (psycopg) 只是 PostgreSQL C 库之上的一个 Python 层。因此,没有 PostgreSQL 开发库意味着没有任何东西可以用 Python 包装,也没有办法从 Python 与 PostgreSQL 对话。
关于python - 无法将 Django 应用程序连接到外部 PostgreSQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5986340/