web-dev-qa-db-ja.com

beautifulsoupはlxmlを認識しません

デフォルトのパーサーは非常に遅いため、BeautifulSoupのパーサーとしてlxmlを使用しようとしていますが、次のエラーが発生します。

    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を手動でインストールしようとしましたが、まだ何もありません

13
robz228

Lxmlが正常にインストールされていないようです。 Ubuntuにlxmlをインストールするには、

Sudo apt-get install libxslt1-dev libxml2

Virtualenvの場合:

pip install --upgrade lxml
pip install cssselect
7
unutbu

これらのページに移動します。

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

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

両方のパッケージのソースファイルをダウンロードします。それぞれを別のフォルダーに展開します。次に、各フォルダーでsetup.pyファイルを見つけて、次のコマンドを実行します。

python setup.py install

Lxmlでいくつかの問題が発生する可能性があります。次のようなエラーが発生した場合

error: command 'gcc' failed with exit status 1

必ずlibxml2-devとlibxslt1-devを使用してインストールしてください

Sudo apt-get install libxml2-dev libxslt1-dev

うまくいけば、それはうまくいくはずです。

1
user1801060