mac导入pycurl出错重装后还是报错

使用 Python 2.7.10版本
openssl version
LibreSSL 2.2.7

导入pycurl的时候会报错

In [1]: import pycurl
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-1-141165d68a5f> in <module>()
----> 1 import pycurl

ImportError: pycurl: libcurl link-time ssl backend (openssl) is different from compile-time ssl backend (none/other)

安装网上的方法

sudo pip uninstall pycurl
export PYCURL_SSL_LIBRARY=nss 或者 export PYCURL_SSL_LIBRARY=openssl
sudo pip install pycurl

后还是会报出同样的错误 找了很久也没解决难受啊=-=

阅读 11.8k
2 个回答
ImportError: pycurl: libcurl link-time ssl backend (openssl) is different from compile-time ssl backend (none/other)

这个问题是可以用重新安装解决

pip uninstall pycurl
export PYCURL_SSL_LIBRARY=openssl
pip install pycurl

但是这里有一个坑:在高版本的mac系统环境变量里是找不到openssl的头文件的

pip uninstall pycurl# 卸载库
export PYCURL_SSL_LIBRARY=openssl
export LDFLAGS=-L/usr/local/opt/openssl/lib
export CPPFLAGS=-I/usr/local/opt/openssl/include# openssl相关头文件路径
pip install pycurl --compile --no-cache-dir# 重新编译安装

环境信息:
Mac High Sierra 10.13.2
Python 3.6.0
pip 9.0.1
pycurl (7.43.0.1)

用homebrew安装的OpenSSL,我这样解决的

pip install pycurl==7.43.0.1 --global-option=build_ext --global-option="-L/usr/local/opt/openssl/lib" --global-option="-I/usr/local/opt/openssl/include"
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进