我从osX 10.7升级到10.9并且所有PostgreSQL数据库调用都开始失败 .
我通过升级到psycopg2版本2.5.2
$ sudo pip install --upgrade psycopg2
当我尝试运行server时,我得到一个importError .
$ python manage.py runserver
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/psycopg2/_psycopg.so, 2): Library not loaded: /usr/local/lib/libpq.5.4.dylib
Referenced from: /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/psycopg2/_psycopg.so
Reason: image not found
这是什么意思?
似乎Python正在尝试加载:/usr/local/lib/libpq.5.4.dylib
但文件不存在,我该如何纠正?
我如何修复它:
似乎postgreSQL正在寻找错误位置的文件 .
所以,我从二进制文件中安装了PostgreSQL 9.3 . 我认为创建了一个* .dynlib文件的符号链接 .
ln -s /Library/PostgreSQL/9.3/lib/libpq.5.6.dylib /usr/local/lib/libpq.5.4.dylib
1 回答
libpq.5.4.dylib
应位于/Library/PostgreSQL/9.1/lib/
.尝试创建从
/usr/local/lib/libpq.5.4.dylib
到/Library/PostgreSQL/9.1/lib/libpq.5.4.dylib
的链接我注意到我在自己的
/usr/local/lib
中没有这样的链接,但后来我运行的是10.6.8 .