2014-04-03 33 views
0

我从osX 10.7升级到10.9,所有PostgreSQL数据库调用都开始失败。当我尝试运行服务器时,为什么会出现ImportError原因:找不到图像?

我升级通过
$ sudo来psycopg2版本2.5.2 PIP安装--upgrade psycopg2

当我尝试RUNSERVER,我得到一个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

+0

如果你从Python解释器运行'import psycopg2',你会得到同样的错误吗?另外,正在使用哪个版本的Python? – Talvalin

+0

是的,我确实得到了同样的错误。我要添加细节到我原来的问题。 Python的2.7.6 – BryanWheelock

回答

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。

相关问题