我弄清楚了当前许多 osx 安装的根本问题是什么(例如http://psycopg.lighthouseapp.com/projects/62710/tickets/111-library-not-loaded-libssl100dylib和python pip install psycopg2 install error )
很多人使用 EnterpriseDB 的 PostgreSQL 安装程序;可能是因为它是http://www.postgresql.org/download/macosx/中的第一个选项
如果您使用它进行安装,它会将所有需要的二进制文件和库安装到它的私有版本空间中......
IE
/Library/PostgreSQL/9.2/bin
/Library/PostgreSQL/9.2/lib
/Library/PostgreSQL/8.4.5/bin
/Library/PostgreSQL/8.4.5/lib
如果我运行 pg_config (它指向 /Library/PostgreSQL/v/bin/pg_config )它会提供正确的信息
LIBDIR = /Library/PostgreSQL/9.2/lib
但是,导入 psycopg2 的所有错误似乎都表明 psycopg2 正在尝试从 /usr/local/lib 加载,而不是它编译的库(或应该期待)
我尝试使用环境变量( LD_LIBRARY_PATH , LD_PRELOAD ),但似乎无法完成这项工作。除非(正确的)文件是 /usr/local/lib ,否则 psycopg2 不想导入。
我不喜欢其他人在这里提到的重写或链接这些文件的解决方案;必须有一种方法可以强制 Python / psycopg2 使用预期的文件路径。