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.soPsycopg2以前工作得很好,但现在我发现了这个错误。
任何关于这个问题的想法都非常感谢。
编辑:因此,在每次设置mac时处理这么多psycopg2错误之后,我决定使用运行Ubuntu的VMWareFusion。
发布于 2010-01-08 00:38:13
因为64位版本的python找不到64位psycopg2,所以会出现此错误。
您可以将您的python降级为32位模式运行,也可以尝试获取64位psycopg2。在本·克里格的博客上有更多关于这个主题的讨论。
发布于 2009-10-26 07:34:42
是否已删除/更新postgres的安装?这个符号应该来自libpq。
发布于 2010-04-15 12:06:56
这对我来说也是坏的,在我的例子中,它似乎不是32位vs 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%https://stackoverflow.com/questions/1623449
复制相似问题