Mac 10.14 安装pycurl 遇到的问题及解决方法随笔

在mac环境下安装pycurl总是报错,这个问题的原因是,在高版本的mac系统环境变量里是找不到openssl的头文件的,因为新版本Mac的openssl版本 LibreSSL 2.2.7

解决方法如下:

  1. pip uninstall pycurl # 卸载pycurl库
  2. export PYCURL_SSL_LIBRARY=openssl
  3. export LDFLAGS=-L/usr/local/opt/openssl/lib
  4. export CPPFLAGS=-I/usr/local/opt/openssl/include # openssl相关头文件路径
  5. pip install pycurl # 重新编译安装

一般到这里这个问题就解决了,但我遇到了一个更麻烦的问题,就是在执行第5步的时候报错如下:

Collecting pycurl
Could not fetch URL https://pypi.python.org/simple/pycurl/: There was a problem confirming the ssl certificate: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:590) - skipping

接下来解决这个问题:
原因:出现这个错误的原因是python.org已经不支持TLSv1.0和TLSv1.1了;
解决方法:更新pip,但是如果使用传统的python -m pip install --upgrade pip的方式,还是会出现那个问题。这是一个鸡和蛋的问题,你因为TLS证书的问题需要去升级pip,升pip的时候又因为TLS证书的原因不能下载最新版本的pip。这时候就没有办法了,只能手动的去升级pip。

mac或者linux操作系统:在终端下执行命令:curl https://bootstrap.pypa.io/get-pip.py | python
windows操作系统:从https://bootstrap.pypa.io/get-pip.py下载get-pip.py文件,然后使用python运行这个文件python get-pip.py即可。
如果上述方式不行,可以自己去官网下载pip最新版本然后手动安装。

pip下载地址:https://pypi.org/project/pip/#files
解压 tar -xf pip-10.0.1.tar.gz
进入pip-10.0.1文件夹,安装 sudo python setup.py install
至此,pip就手动更新完成。

再次执行第5步:pip install pycurl,成功;
如果还有问题,可以执行:pip --trusted-host pypi.python.org install pycurl,成功;

你可能感兴趣的:(Mac 10.14 安装pycurl 遇到的问题及解决方法随笔)