Python安装pycurl失败,及解决办法

 

Centos安装pycurl

centos 安装pycurl
yum install python-devel curl-devel
pip3 install pycurl

 

Mac(老版本)安装pycurl

解决MacOS升级后出现xcrun: error: invalid active developer path, missing xcrun的问题

xcode-select --install
然后
dongchang-5:qqmusic baoshan$ pip3 install pycurl
Collecting pycurl
  Using cached pycurl-7.43.0.1.tar.gz
Building wheels for collected packages: pycurl
  Running setup.py bdist_wheel for pycurl ... done
  Stored in directory: /Users/baoshan/Library/Caches/pip/wheels/a5/5b/c8/f80900b09b49815e1f90dbae2f57e49b3f4c61071db40fb238
Successfully built pycurl
Installing collected packages: pycurl
Successfully installed pycurl-7.43.0.1

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

dongchang-5:qqmusic baoshan$ pip3 install pycurl
Collecting pycurl
Installing collected packages: pycurl
Successfully installed pycurl-7.43.0.1

上述参考自:http://www.kxtry.com/archives/398

dongchang-5:include baoshan$ python3
Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 26 2016, 10:47:25)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import pycurl
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: pycurl: libcurl link-time ssl backend (openssl) is different from compile-time ssl backend (none/other)

参考解决方案:https://www.jianshu.com/p/50b6771eb853

 

新版本Mac安装pycurl

但是这里有一个坑:在高版本的mac系统环境变量里是找不到openssl的头文件的
因为新版本Mac的openssl版本 LibreSSL 2.2.7
pip3 uninstall pycurl# 卸载库 export PYCURL_SSL_LIBRARY
=openssl export LDFLAGS=-L/usr/local/opt/openssl/lib export CPPFLAGS=-I/usr/local/opt/openssl/include# openssl相关头文件路径 pip3 install pycurl --compile --no-cache-dir # 重新编译安装 至此终于搞定。

dongchang-5:pycurl-7.43.0 baoshan$ python3
Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 26 2016, 10:47:25)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import pycurl
>>>


参考:https://segmentfault.com/q/1010000012674778

 

搞了一个多下午,终于找到解决办法。。。

 

posted @ 2018-03-22 14:39  宝山方圆  阅读(10581)  评论(0编辑  收藏  举报