Python内部自带了很多的xml解析库,平时用起来也没什么问题,但遇到中文就over了,大名鼎鼎的lxml就不说了,下面来说说安装过程,以及这个过程中猜到的N个坑
1. 部署环境
系统:SLES 10
Python:python 3.5.1
lxml:lxml 3.6.0
libxml2:libxml2-2.9.0
libxslt:libxslt-1.1.28
2. 部署顺序
(1)装系统,这句纯属扯淡
(2)编译python,直接./configure --prefix=/usr/local/python3.5
(3)编译lxml 3.6,最开始遇到的提示是没有安装libxml2,按照正常逻辑,下载libxml2,然后编译安装,./configure --with-python=/usr/local/python3.5/bin/python3.5
各种大坑开始出现
坑1:relocation R_X86_64_32S against `_PyObject_NextNotImplemented' can not be used when making a shared object; recompile with -fPIC
原因:最开始下载的是libxml2.9.3版本,无论怎么编译都是这个报错,在网上找了N个方法,甚至重新编译了python,结果还是不行,后来想想,换个其他版本的吧,2.9是个大版本,就换这个了,结果正常,尼玛,官网稳定版不兼容
(4)编译libxslt,一切正常
(5)编译lx