2011-05-13 137 views
0

简要说明
我有一些尝试连接一个Django应用程序(目前设置为sqlite3的)到新创建的PostgreSQL我的Ubuntu服务器上的问题。无法Django应用程序连接到外部PostgreSQL数据库

问题
任何人都可以分享他们的成功吗?有没有一个很好的一步一步的教程做到这一点?或者至少有用的指针如何调试呢?

到此为止(背景资料)
1)我有我的Ubuntu的服务器上安装PostgreSQL的以下this教程。请注意,这产生了零错误。
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:错误加载psycopg模块:无模块名为psycopg

4)试图与PIP安装psycopg,easy_install的,并与setup.py。所有人都无法找到pg_config。

5)谷歌告诉我,我需要安装libpq-dev和python-dev来编译psycopg软件包。这是我失去了大部分对自己所做的事情充满信心的地方。我明白,这2个包是为了让我编译python源码,但是真的需要吗?

系统信息
客户:
OS:OS X雪豹10.6.6
Django的:最新版本1.2.5
的Python:2.7(运行的virtualenv)

很快成为客户端
操作系统:Windows XP/7
运行Python环境的上方捆绑可执行

服务器:
操作系统:Ubuntu的10.10(服务器,没有GUI)
的PostgreSQL:8.4(这是易于得到安装下载的)

更新
我在documentation中发现了它需要安装psycopg的地方。我想这个问题从我真的需要这个,到在我的客户端上安装psycopg的最佳方式。

更新2011年5月13日:上午9:20
与同事沟通后,我相信this SO问题地址我的大部分问题

回答

0

我跑进周围使用32位安装Python进行了集中的问题(在Snow Leopard上要求的wxPython 2.8)。请在这个SO Question看到我的回答。

@mu太短:感谢您的帮助。

1

我不是Python的家伙,但你需要将PostgreSQL作为PostgreSQL的Python接口安装的库(psycopg)只是PostgreSQL C库之上的一个Python层。因此,没有PostgreSQL开发库意味着没有什么可以在Python中打包,也没有办法从Python与PostgreSQL进行对话。

+0

这正是我开始安装psycopg的原因。但是,我不知道在使用Django时这是否是必需的。根据我的错误判断,我会说是,但是在Django文档中找不到需要此模块的任何地方。感谢你及时的答复! – 2011-05-13 01:39:23

+0

@Adam:我不认为Django本身需要psycopg或其任何支持库,但您的应用程序需要与PostgreSQL对话,以便您的应用程序需要psycopg和朋友。 – 2011-05-13 04:47:29

+0

@mu:同意。看看我的更新。 – 2011-05-13 13:13:08

0

你需要把你的pg_config到您的路径,首先找到自己的计算机上的文件,然后运行类似于:

export PATH=$PATH:/opt/local/lib/postgresql90/bin 
    pip install psycopg2 

如果您没有安装在客户机上的Postgres,那么你应该能够与MacPorts的安装:

sudo port install postgresql90 
+0

正如我在我的问题中指出的,我的机器上没有pg_config。我不是可以查看这个的点,所以你知道我是否可以用自制软件安装我需要的东西? – 2011-05-13 11:05:30

相关问题