【问题标题】:When I attempt to runserver, why do I get an ImportError Reason: image not found?当我尝试运行服务器时,为什么会收到 ImportError 原因:找不到图像?
【发布时间】:2014-04-03 21:48:38
【问题描述】:

我从 osX 10.7 升级到 10.9,我所有的 PostgreSQL 数据库调用都开始失败。

我通过
升级到 psycopg2 版本 2.5.2 $ sudo pip install --upgrade psycopg2

当我尝试运行服务器时,我得到一个 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

【问题讨论】:

  • 如果你从 Python 解释器运行 import psycopg2,你会得到同样的错误吗?另外,使用的是哪个版本的 Python?
  • 是的,我确实遇到了同样的错误。我将在我原来的问题中添加细节。 Python-2.7.6

标签: django postgresql psycopg2


【解决方案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。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-12
    • 2022-01-26
    • 1970-01-01
    • 2015-01-24
    • 2019-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多