安装pycurl模块报错:
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 再次安装
这些三部曲之类的,可能这种针对大多数也管事,但是针对我的情况不大管用。因为,就算我执行了上面过程,又出现另外一些错误,没有截图,但是意思是说,安装pycurl所依赖的其他包:dateutil和scipy等版本太低,没办法安装pycurl。
然后我就按照pip install -U ***来进行升级,但是蛋疼的是,这两个包都不能正常升级,尤其是升级scipy时,提示说不能保证完全卸载旧版本,所以更新不成功;查了一些资料,虽然没有找到对应的答案,但是估摸着差不多就是需要手动删除低版本的安装包,重新安装最新版本。然后我就在:/系统/资源库/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/里面删除了这两个安装包,但是还是提示同样的错误,后来我用:
python
import scipy
scipy.__file__
这三步找到对应的安装包的安装位置,发现竟然在别的路径中也有一个版本的scipy(其他的同样道理),于是我同样删除该路径下的旧版本。之后用:
python
import scipy
测试,如果出现提示:no module named scipy提示,则表示删除完成。此时再次运行:pip install scipy就可以安装最新版本的安装包。其他安装包更新过程与此相同。
然后运行pip install pycurl,成功安装。
这个过程踩了很多坑,总结发现,最重要的是不大了解mac系统文件整体框架,虽然知道mac自带的有python,但是不清楚python自带的python安装包,和自己下载的python安装包的区别,及其各自的安装路径。
自我分析,导入依赖包时,应该是先从系统自带的路径开始查找,如果没有再去查找user路径下的。
希望有清楚了解的可以指点一下,不胜感激。