RHEL 6.10安装Python3.8模块shareplum时libxml2/libxslt开发包报错
问题原因
RHEL 6.10已停止官方支持,默认yum源无法获取到libxslt-devel和libxml2-devel包,导致编译lxml(shareplum的依赖)失败。
解决方案
1. 替换yum源为CentOS 6归档源
RHEL 6与CentOS 6二进制兼容,可通过CentOS官方归档源获取依赖包:
- 备份原有yum配置文件:
mkdir -p /etc/yum.repos.d/bak mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak/ - 创建新的CentOS 6源配置文件
/etc/yum.repos.d/CentOS-Base.repo,写入以下内容:[CentOS6-base] name=CentOS-6 - Base baseurl=http://vault.centos.org/6.10/os/$basearch/ gpgcheck=1 gpgkey=http://vault.centos.org/RPM-GPG-KEY-CentOS-6 enabled=1 [CentOS6-updates] name=CentOS-6 - Updates baseurl=http://vault.centos.org/6.10/updates/$basearch/ gpgcheck=1 gpgkey=http://vault.centos.org/RPM-GPG-KEY-CentOS-6 enabled=1 [CentOS6-extras] name=CentOS-6 - Extras baseurl=http://vault.centos.org/6.10/extras/$basearch/ gpgcheck=1 gpgkey=http://vault.centos.org/RPM-GPG-KEY-CentOS-6 enabled=1 - 清理并更新yum缓存:
yum clean all yum makecache
2. 安装所需开发依赖
执行以下命令安装编译lxml需要的依赖:
yum install libxslt-devel libxml2-devel gcc -y
3. 重新安装shareplum
依赖安装完成后,再次执行安装命令:
pip3.8 install shareplum
备选方案:使用兼容旧系统的lxml版本
如果编译最新版lxml仍然失败,可先安装对旧系统兼容性更好的lxml版本,再安装shareplum:
pip3.8 install lxml==4.9.3 pip3.8 install shareplum
内容的提问来源于stack exchange,提问作者Ashu
相关产品推荐
相关产品推荐

