当我尝试运行服务器时,为什么会出现ImportError Reason:找不到图像?

时间:2014-04-03 21:48:39

标签: django postgresql psycopg2

我从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 个答案:

答案 0 :(得分: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。