我正在尝试将'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 但仍然遇到上述错误。
有人可以帮忙解决我的问题。
答案 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。