【问题标题】:psycopg2 import error due to failure to load libraries由于加载库失败导致 psycopg2 导入错误
【发布时间】:2013-01-29 14:23:15
【问题描述】:

在使用一键式安装程序安装 PostgreSQL 后,我尝试了多种安装 psycopg2 的方法,但无论如何我尝试在 python 中遇到相同的导入错误:ImportError: dlopen(/Library/Python/2.5/site-packages /psycopg2/_psycopg.so,2):未加载库:libpq.5.dylib 引用自:/Library/Python/2.5/site-packages/psycopg2/_psycopg.so 原因:找不到图片

我使用的是 Mac OS X 10.5.8。我正在使用 Python 2.5。我从安装程序安装了 PostgreSQL(我没有移植它)并将它安装在 /Library 中)。我将 /Library/PostgreSQL/9.1/bin 添加到源 psycopg2 的 setup.cfg 中,按照安装文件和 Internet 上的任何地方的说明,然后运行 ​​sudo python setup.py build,然后运行 ​​sudo python setup.py install。 我还尝试将 /Library/PostgreSQL/9.1/bin 导出到我的路径并运行 sudo pip install psycopg2。但是在所有这些场景中都发生了完全相同的问题。 我将非常感谢一些帮助。

最好的 马里昂

【问题讨论】:

    标签: psycopg2


    【解决方案1】:

    问题是在运行时找不到 libpq.5.dylib 文件,因为它不在动态(运行时)链接器搜索的默认位置之一。尝试在启动 python 之前定义环境变量 DYLD_LIBRARY_PATH。我不是 MacOS X 专家,但类似:

    export DYLD_LIBRARY_PATH=/Library/PostgreSQL/9.1/lib
    

    可能会起作用。

    【讨论】:

    • 您好,谢谢!在发布此问题之前,我也尝试过,但无济于事。最终的工作是将 psycopg2 中的 .so 文件放入 LD_LIBRARY_PATH 中。导出 LD_LIBRARY_PATH=/Library/Python/2.5/site-packages/psycopg2:${LD_LIBRARY_PATH}
    • 如果有人能解释为什么一种解决方案有效而另一种无效(这是我在网络上的各种帖子和问题中找到的那个),那就太棒了。
    最近更新 更多