解决python3 安装完Pycurl在import pycurl时报错的问题

yipeiwu_com5年前Python基础

此次遇到的问题是在import pycurl 时报错

pycurl:libcurl link-time version is older than compile-time version

在网上看了很多解释和方法,但都没有很好的解决和分析这个问题,我先说下自己的过程

1、安装的事centos7 ,默认安装的是python2.7,python3是后使用src安装的,同样先下载了curl-7.61的包和pycurl-7.43的包,应该都是最新的了

2、先make && make install 了curl-7.61,至/usr/local下,然后python3 setup.py install安装了pycurl-7.43的包

3、在Import pycurl时报错如上错误

解决过程:

查看过网上各类方法,都曾尝试都未能很好的解决,于是静下心来仔细读了下报错内容pycurl:libcurl link-time version is older than compile-time version

英文一般,所以我读到的意思大概是libcurl连接的版本比目前编译版本要老,于是我对比了下如下两个文件夹的内容

/usr/lib下ll libcur*

/usr/local/lib 下ll libcurl*

内容分别如下

libcurl.so.4->libcurl.so.4.3.0
libcurl.so.4.3.0

libcurl.a
libcurl.la
libcurl.so->libcurl.so.4.5.0
libcurl.so.4->libcurl.so.4.5.0
licburl.4.5.0

那么我想是否是因为安装pycurl时使用了/usr/lib下的libcurl.4.3.0导致的,于是先

pip3 uninstall pycurl卸载了pycurl

然后重新make && make install curl-7.61

然后进入/usr/lib 将libcurl.so.4->libcurl.so.4.3.0

删除然后通过ln -s 创建了

libcurl.so->/usr/local/lib/libcurl.so.4.5.0

libcurl.so.4->/usr/local/lib/libcurl.so.4.5

然后重新python3 setup.py install 了pycurl

再进入python3 import pycurl 正常了,总结下

应该就是安装pycurl时使用了旧库导致的

以上这篇解决python3 安装完Pycurl在import pycurl时报错的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python 2.7.x 和 3.x 版本的重要区别小结

许多Python初学者都会问:我应该学习哪个版本的Python。对于这个问题,我的回答通常是“先选择一个最适合你的Python教程,教程中使用哪个版本的Python,你就用那个版本。等学...

浅谈PyQt5 的帮助文档查找方法,可以查看每个类的方法

浅谈PyQt5 的帮助文档查找方法,可以查看每个类的方法

事情是这样的,我在python中安装了PyQt5后,想查看QtGui模块中的类QMainWindow有哪些方法, 如何查看呢? 解决方法: 1、原来在安装PyQt5时相应的帮助文档已经在...

OpenCV+Python--RGB转HSI的实现

OpenCV+Python--RGB转HSI的实现

cv2.cvtColor函数封装了各种颜色空间之间的转换,唯独没有RGB与HSI之间的转换,网上查来查去也只有C++或MATLAB版本的,自己要用到python里,所以就写写python...

Python最长公共子串算法实例

本文实例讲述了Python最长公共子串算法。分享给大家供大家参考。具体如下: #!/usr/bin/env python # find an LCS (Longest Common...

Python自定义主从分布式架构实例分析

Python自定义主从分布式架构实例分析

本文实例讲述了Python自定义主从分布式架构。分享给大家供大家参考,具体如下: 环境:Win7 x64,Python 2.7,APScheduler 2.1.2。 原理图如下: 代码...