一尘不染

python pip install psycopg2安装错误

python

pip install psycopg2在Mac系统上做了一个简单的操作。它安装正确,但是当我尝试使用psycopg2时出现错误:

Reason: Incompatible library version: _psycopg.so requires version 1.0.0 or later, but libssl.0.9.8.dylib provides version 0.9.8

pip freeze显示psycopg2==2.4.5恰到好处。我已经在多个virtualenvs上安装了psycopg2,但这是我第一次看到这样的错误。我尝试卸载并重新安装,结果相同。请帮忙


阅读 172

收藏
2020-12-20

共1个答案

一尘不染

升级到Mountain Lion后,我遇到了类似的问题。

确保不要按Slack的建议复制libssl。*文件,而是确保它/usr/lib/libssl.dylib实际上是到库的最新版本的软链接。

例如,在我的机器上,ls -l /usr/lib/libssl*给出:

lrwxr-xr-x  1 root  wheel    46B Jun 27 15:24 /usr/lib/libssl.1.0.0.dylib -> /Library/PostgreSQL/9.1/lib/libssl.1.0.0.dylib
lrwxr-xr-x  1 root  wheel    27B Jul 30 10:31 /usr/lib/libssl.dylib -> /usr/lib/libssl.1.0.0.dylib

如果libssl.dylib未链接到错误版本提及的版本,请确保您具有该库的版本,然后确保/usr/lib/libssl.dylib指向该库,而不是旧版本。

如果链接不存在,请像这样创建它

sudo ln -s library_to_link_to link_to_create

当然,请使用适合您机器的位置。对我来说,结果是:

sudo ln -s /usr/lib/libssl.1.0.0.dylib /usr/lib/libssl.dylib

编辑

似乎有些人在解决我的部分问题。即,删除这些重要的库甚至会暂时导致操作系统出现问题。

根据Purrell的回答,请确保-fs在使用ln命令时包括这些标志,这有助于确保库在短时间内不会丢失。例如,

sudo ln -fs /usr/lib/libssl.1.0.0.dylib /usr/lib/libssl.dylib
sudo ln -fs /usr/lib/libcrypto.1.0.0.dylib /usr/lib/libcrypto.dylib
2020-12-20