代码之家  ›  专栏  ›  技术社区  ›  AndrewF

红帽蟒蛇

  •  0
  • AndrewF  · 技术社区  · 15 年前

    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、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(雪豹)上运行良好。所以我认为这个问题是红帽的一个特殊问题。

    1 回复  |  直到 15 年前
        1
  •  2
  •   AndrewF    15 年前

    Red hat附带postgres版本,这可能与自定义安装冲突。Python使用 pg_config /usr/local/pgsql/ ,但是打电话 which pg_config /usr/bin/pg_config/ .

    在psycopg2构建目录中,有一个文件 setup.cfg :

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

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