未定义的符号:在ubuntu上使用'lxml'时出现PyFPE_jbuf错误

时间:2016-03-07 19:47:11

标签: python ubuntu lxml

我正在尝试将'lxml'库导入我的python程序,如下所示。

from lxml import etree

但是,我收到的错误是“未定义的符号:PyFPE_jbuf”。这是整个堆栈跟踪

File "xmlExtract.py", line 4, in <module>
from lxml import etree
ImportError: /usr/local/lib/python3.4/dist-packages/lxml/etree.cpython-34m.so: undefined symbol: PyFPE_jbuf

我已经仔细安装了'lxml'库,包括它的所有依赖项(libxml2-dev,libxslt-dev,python-dev)。我也有python的旧版本,即2.7和新的python3.4。 我尝试设置变量PYTHONPATH = / usr / local / lib / python3.4 / dist-packages 但仍然遇到上述错误。

有人可以帮忙解决我的问题。

2 个答案:

答案 0 :(得分:4)

我有同样的问题,并且能够通过以下方式重新安装lxml:

pip install lxml --no-use-wheel

根据你的pip版本,你也可以使用:

pip install lxml --no-binary :all:

答案 1 :(得分:1)

我在我的一个系统上遇到过这个问题。在我的系统上,这来自于从系统Python切换到自定义系统,但保持轮子。

解决此问题:

pip uninstall lxml
cd 
find .cache -name 'lxml*cp34*.whl' # check there is a wheel 
find .cache -name 'lxml*cp34*.whl' -delete # remove it
pip install lxml

感谢@moo -_-在另一个环境中解决这个问题。有关详细信息,请参阅https://stackoverflow.com/a/6893563/2385133