Ответ 1
Похоже, что lxml не был успешно установлен. Чтобы установить lxml
на Ubuntu, запустите
sudo apt-get install libxslt1-dev libxml2
В virtualenv:
pip install --upgrade lxml
pip install cssselect
Я пытаюсь использовать lxml
как синтаксический анализатор для BeautifulSoup, потому что по умолчанию MUCH медленнее, но я получаю эту ошибку:
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, и я все еще получаю это.
Я даже создал новую виртуальную среду и установил все новое и все еще получаю эту ошибку.
Кто-нибудь знает, что здесь происходит?
редактирует
Использование последних версий bs4 и lxml на Python 2.7.x на рабочем столе ubuntu
i может 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 и еще ничего
Похоже, что lxml не был успешно установлен. Чтобы установить lxml
на Ubuntu, запустите
sudo apt-get install libxslt1-dev libxml2
В virtualenv:
pip install --upgrade lxml
pip install cssselect
Перейдите на следующие страницы:
загрузить исходные файлы для обоих пакетов. Разверните каждую из них в другую папку. Затем в каждой папке найдите файл 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
Надеюсь, это сработает.