【问题标题】:Python and Postgres on Red Hat红帽上的 Python 和 Postgres
【发布时间】:2010-10-25 16:15:39
【问题描述】:

我在 linux 上安装 psycopg2 时遇到了问题。当我尝试导入 psycopg2 时收到以下错误。

Python 2.6.4 (r264:75706, Nov 19 2009, 14:52:22) 
[GCC 3.4.6 20060404 (Red Hat 3.4.6-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import psycopg2
Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
   File "/usr/local/lib/python2.6/site-packages/psycopg2/__init__.py", line 69, in <module>
   from _psycopg import BINARY, NUMBER, STRING, DATETIME, ROWID
ImportError: /usr/local/lib/python2.6/site-packages/psycopg2/_psycopg.so: undefined symbol: PQserverVersion

我正在使用 Postgresql 9.0.1、Psycopg2 2.2.2、Python 2.6.4 和 RHEL 4。

这个问题与一年前的这个问题相同,但从未得到回答:http://code.activestate.com/lists/python-list/169772/。

有人看到这个错误吗?任何建议将不胜感激。

编辑:Postgresql 9.0.1、Psycopg2 2.2.2 和 Python 2.6.4 的相同组合在我的 mac(雪豹)上运行良好。所以我认为这个问题是 Red Hat 特有的。

【问题讨论】:

    标签: python django linux postgresql


    【解决方案1】:

    Red hat 附带一个 postgres 构建,它可能与自定义安装发生冲突。 Python 使用 pg_config 来配置 psycopg2 构建。我将postgres安装到/usr/local/pgsql/,但调用which pg_config返回/usr/bin/pg_config/。

    在 psycopg2 构建目录中,有一个文件setup.cfg,它可以让你显式定义pg_config的路径:

    pg_config=/usr/local/pgsql/bin/pg_config
    

    设置这个参数并重新编译解决了我的问题。

    【讨论】:

    • 我没有 pg_config 文件。解决方案是:yum -y install postgresql-devel
    猜你喜欢
    • 2021-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-19
    • 1970-01-01
    • 2013-03-24
    • 1970-01-01
    相关资源
    最近更新 更多