Python и Postgres на Red Hat - PullRequest
       10

Python и Postgres на Red Hat

0 голосов
/ 25 октября 2010

У меня были проблемы с установкой psycopg2 на Linux. Я получаю следующую ошибку при попытке импортировать 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/.

Кто-нибудь видел эту ошибку? Любые предложения будут высоко оценены.

EDIT: эта же комбинация Postgresql 9.0.1, Psycopg2 2.2.2 и Python 2.6.4 отлично работала на моем Mac (снежный барс). Поэтому я ожидаю, что проблема является чем-то особенным для Red Hat.

1 Ответ

2 голосов
/ 25 октября 2010

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

Установка этого параметра и повторная компиляция решили мою проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...