使用 libcurl4 导入 pycurl 引发 ImportError

importing pycurl with libcurl4 raises ImportError

我正在使用 Ubuntu 18.04。如果我安装 libcurl4(而不是 libcurl3),当我导入使用 pipenv 安装的 pycurl 时,我得到

>>> import pycurl
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: /usr/lib/x86_64-linux-gnu/libcurl.so.4: version `CURL_OPENSSL_3' not found (required by /home/pietro/envs/try_fabric-kcbGLH3z/lib/python3.6/site-packages/pycurl.cpython-36m-x86_64-linux-gnu.so)

请注意,仅当我使用通过 pipenv 或 pip 安装的 pycurl 时才会出现此错误。如果我改用通过 apt 在系统 python 上安装的 pycurl,则会出现任何错误...

我能做些什么来避免这种僵局?

我假设您最近升级了操作系统。

pip 在您的主目录中存储内置轮子的缓存,当升级您的 os 时,清除此缓存是个好主意,因为二进制文件现在可能 link 针对不兼容的系统库

您可以通过 rm -rf ~/.cache/pip 执行此操作,然后重新创建您的环境