采用源代码方式安装python2.7,程序运行时报:
执行from lxml import etree报:
python27/lib/python2.7/site-packages/lxml-3.4.1-py2.7-linux-i686.egg/lxml/etree.so: undefined symbol: __xmlStructuredErrorContext
其原因是编译时用的libxml2版本过低,解决方案:
yum groupinstall "Development Tools"
wget http://xmlsoft.org/sources/libxml2-2.7.8-1.src.rpm
rpm -ivh libxml2-2.7.8-1.src.rpm --nomd5
rpmbuild -ba /usr/src/redhat/SPECS/libxml2.spec
cd /usr/src/redhat/RPMS/arch
yum localinstall libxml2-2.7.8-1.i386.rpm libxml2-devel-2.7.8-1.i386.rpm libxml2-python-2.7.8-1.i386.rpm --nogpgcheck
再重新安装lxml就ok了
参考:
http://serverfault.com/questions/266927/install-libxml2-2-7-x-on-centos-5-x