尝试使用 psycopg2 应用程序运行 postgres 时遇到以下错误:
Error loading psycopg2 module: dlopen(/Users/Yunti/.virtualenvs/switcher2/lib/python3.4/site-packages/psycopg2/_psycopg.so, 2): Library not loaded: /Applications/Postgres.app/Contents/Versions/9.4/lib/libssl.1.0.0.dylib
Referenced from: /Users/Yunti/.virtualenvs/switcher2/lib/python3.4/site-packages/psycopg2/_psycopg.so
Reason: image not found
我原本以为是postgres的brew安装造成的。然而 psycog2 似乎指向以前安装的 postgres 应用程序版本。
在通过brew安装postgres之前先卸载了postgres应用程序,然后设置了virtualenv。我想我一定没有在卸载过程中删除与 postgres 应用程序相关的东西,但不知道 psycopg2 最终是如何指向它的。
(请注意,如果我在brew中卸载postgres并重新安装postgres应用程序,那么一切都会再次开始工作)
请注意,卸载并重新安装 psycopg2 并未修复。删除brew安装的postgresql版本并重新安装它,然后再次重新安装psycopg2也没有。
最佳答案
卸载并重新安装 psycopg2 几乎就是解决方案。然而 pip 正在重新安装 psycopg2 的缓存版本。这仍然引用了之前安装的 postgres 应用程序,该应用程序已被删除并通过brew重新安装。
解决办法是:
pip uninstall psycopg2
然后重新安装而不使用缓存:
pip install psycopg2 --no-cache-dir
关于python - 加载 psycopg2 模块时出错 - 从 Postgres 应用程序更改为 brew 安装的 postgres,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32508411/