Ошибка импортирования пилонов Psycopg2 - PullRequest
2 голосов
/ 26 октября 2009
    Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
 File "/Library/Python/2.6/site-packages/psycopg2/__init__.py", line 60, in <module>
   from _psycopg import BINARY, NUMBER, STRING, DATETIME, ROWID
ImportError: dlopen(/Library/Python/2.6/site-packages/psycopg2/_psycopg.so, 2): Symbol not found: _PQbackendPID
 Referenced from: /Library/Python/2.6/site-packages/psycopg2/_psycopg.so
 Expected in: flat namespace
 in /Library/Python/2.6/site-packages/psycopg2/_psycopg.so

Раньше Psycopg2 работал нормально, но теперь я получаю эту ошибку.

Любые идеи по этому вопросу приветствуются.


РЕДАКТИРОВАТЬ: так что после того, как я каждый раз настраивал свой mac, сталкивался с таким количеством ошибок psycopg2, я решил вместо этого использовать VMWareFusion с Ubuntu.

Ответы [ 4 ]

4 голосов
/ 08 января 2010

Вы получаете эту ошибку, потому что ваша 64-битная версия python не может найти 64-битную psycopg2.

Вы можете либо понизить ваш питон для работы в 32-битном режиме, либо попробовать получить 64-битный psycopg2. Эта тема обсуждается в блоге Бена Кригера .

1 голос
/ 12 июля 2010
1 голос
/ 15 апреля 2010

Это не работает и для меня, и в моем случае это не проблема 32 против 64 бит:

decibel@workbook.1[6:55]~/src:85%file /opt/local/lib/postgresql83/libpq.dylib 
/opt/local/lib/postgresql83/libpq.dylib: Mach-O 64-bit dynamically linked shared library x86_64
decibel@workbook.1[6:56]~/src:86%file ~/.python-eggs/psycopg2-2.0.14-py2.6-macosx-10.6-universal.egg-tmp/psycopg2/_psycopg.so 
/Users/decibel/.python-eggs/psycopg2-2.0.14-py2.6-macosx-10.6-universal.egg-tmp/psycopg2/_psycopg.so: Mach-O universal binary with 3 architectures
/Users/decibel/.python-eggs/psycopg2-2.0.14-py2.6-macosx-10.6-universal.egg-tmp/psycopg2/_psycopg.so (for architecture i386):   Mach-O bundle i386
/Users/decibel/.python-eggs/psycopg2-2.0.14-py2.6-macosx-10.6-universal.egg-tmp/psycopg2/_psycopg.so (for architecture ppc7400):    Mach-O bundle ppc
/Users/decibel/.python-eggs/psycopg2-2.0.14-py2.6-macosx-10.6-universal.egg-tmp/psycopg2/_psycopg.so (for architecture x86_64): Mach-O 64-bit bundle x86_64
decibel@workbook.1[6:56]~/src:87%
1 голос
/ 26 октября 2009

Может быть, установка postgres была удалена / обновлена? Символ должен прийти из libpq.

...