gpt4 book ai didi

python - Mac OS X Lion Psycopg2 : Symbol not found: _PQbackendPID

转载 作者:行者123 更新时间:2023-12-03 23:25:05 24 4
gpt4 key购买 nike

我最近升级到 Mac OS X Lion 并试图让 psycopg2 再次与 python 2.6 一起工作。以前站点上的指令强制 Python 运行 32 位以上(参见此处的位置:http://favosdream.blogspot.com/2009/09/make-psycopg2-and-readline-work-in-snow.html)并没有带来任何运气。即使尝试使用 arch -i386 python 将 python 强制为 32 位,仍然给我错误:

symbol not found: _PQbackendPID
Referenced from: /Library/Python/2.6/site-packages/psycopg2/_psycopg.so
Expected in: flat namespace

最佳答案

最近在尝试将 psycopg2 (2.8.2) 导入 python3 (3.5.3) 项目时遇到了这个问题。运行 macOS Sierra (10.12.6),使用 PostgreSQL 9.6 + pgAdmin3。

TLDR:安装 SQL 程序和安装程序创建的动态链接时要小心

据我所知,与 psycopg2 (2.8.2) 兼容所需的 libpq 动态库 ( libpq.5.dylib ) 是 libpq 5.9+ ( libpq.5.9.dylib )

安装 postgres(或其他 postgres 依赖程序)后,它们可能会在 /usr/lib 中创建动态链接到新安装的 .dylib 文件,这些文件不一定是您想要的。

例如,/usr/lib/libpq.5.dylib可以指向./Applications/pgAdmin3.app/Contents/Frameworks/libpq.5.dylib ,这是 5.6 版;旧版本的 libpq 动态库可能不包含某些函数,例如 _PQsslAttribute , 在这种情况下。

对我有用的解决方案:

搬家 /usr/local/lib$PATH (因为 usr/lib 可能只能被 root 写入),然后在 /usr/local/lib 中创建一个动态链接指向 /Library/PostgreSQL/9.6/lib/libpq.5.9.dylib像这样:

cd /usr/local/lib
ln -s /Library/PostgreSQL/9.6/lib/libpq.5.9.dylib ./libpq.5.dylib

关于python - Mac OS X Lion Psycopg2 : Symbol not found: _PQbackendPID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6999105/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com