在x86_64 Cent OS中导入lxml objectify和etree时出错

时间:2014-08-05 23:13:12

标签: python centos virtualenv lxml

我有一个使用virtualenv和python 2.7的CentOS设置。我使用:

安装了lxml
CFLAGS="$CFLAGS -fPIC -lgcrypt -ldl -lgpg-error -lrt" STATIC_DEPS=true pip2.7 install lxml

它编译和安装没有错误。

但是,导入lxml.objectify时我的应用程序会中断。进一步研究这个问题,我意识到它无法导入lxml.objectify和lxml.etree。我从客体化中得到的错误是:

>>> from lxml import objectify
 Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: /var/htdocs/plus.dev/env1/lib/python2.7/site-packages/lxml/objectify.so:     undefined symbol: lzma_auto_decoder

来自etree:

>>> from lxml import etree
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: /var/htdocs/plus.dev/env1/lib/python2.7/site-packages/lxml/etree.so: undefined symbol: lzma_auto_decoder

我在谷歌搜索并按照某些论坛的规定卸载了xz-devel,但我仍然遇到同样的错误而且令人沮丧。

可能是什么问题?

1 个答案:

答案 0 :(得分:0)

经过大量的搜索,我终于解决了这个问题。这个错误是由32位编译的python包和64位编译的python包冲突引起的。在https://github.com/0xdata/h2o/wiki/Installing-python-2.7-on-centos-6.3.-Follow-this-sequence-exactly-for-centos-machine-only

获取更详细的说明和解决方案