beautifulsoup不会识别lxml

时间:2014-01-24 01:51:28

标签: python beautifulsoup lxml

我正在尝试使用lxml作为BeautifulSoup的解析器,因为默认值较慢,但是我收到此错误:

    soup = BeautifulSoup(html, "lxml")
  File "/home/rob/python/stock/local/lib/python2.7/site-packages/bs4/__init__.py", line 152, in __init__
    % ",".join(features))
bs4.FeatureNotFound: Couldn't find a tree builder with the features you requested: lxml. Do you need to install a parser library?

我已经多次卸载并重新安装了lxml以及beautifulsoup,但它仍然无法读取它。我也尝试过重新安装的lxml依赖项,我仍然会这样做。

我甚至创建了一个新的虚拟环境并安装了新的一切,但仍然出现此错误。

任何人都知道这里发生了什么?

编辑

在ubuntu桌面上的Python 2.7.x上使用最新版本的bs4和lxml

我可以import lxml但我不能from lxml import etree返回:

  File "<stdin>", line 1, in <module>
ImportError: /usr/lib/x86_64-linux-gnu/libxml2.so.2: version `LIBXML2_2.9.0' not found (required by /home/rob/python/stock/local/lib/python2.7/site-packages/lxml/etree.so)

我有libxml但是我不确定版本,但我安装并重新安装了最新版本。还试图手动安装2.9.0仍然没有

2 个答案:

答案 0 :(得分:7)

看起来lxml尚未成功安装。要在Ubuntu上安装lxml,请运行

sudo apt-get install libxslt1-dev libxml2

在virtualenv:

pip install --upgrade lxml
pip install cssselect

答案 1 :(得分:1)

转到这些页面:

  1. https://pypi.python.org/pypi/cssselect

  2. https://pypi.python.org/pypi/lxml/3.2.5

  3. 下载两个软件包的源文件。将每个文件展开到另一个文件夹中。然后在每个文件夹中找到setup.py文件并运行以下命令:

    python setup.py install
    

    你可能会遇到lxml的一些问题。如果您收到类似

    的错误
    error: command 'gcc' failed with exit status 1
    

    确保安装libxml2-dev&amp; libxslt1-dev使用

    sudo apt-get install libxml2-dev libxslt1-dev
    

    希望这应该有用。