Python: ImportError: lxml не найден, пожалуйста, установите его
Я столкнулся с проблемой при работе с кодом на Python в среде PyCharm (MacOS):
import pandas as pd
fiddy_states = pd.read_html('https://simple.wikipedia.org/wiki/List_of_U.S._states')
print(fiddy_states)
При выполнении этого кода возникает следующая ошибка:
/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6 /Users/user_name/PycharmProjects/PandasTest/Doc3.py
Traceback (most recent call last):
File "/Users/user_name/PycharmProjects/PandasTest/Doc3.py", line 9, in <module>
fiddy_states = pd.read_html('https://simple.wikipedia.org/wiki/List_of_U.S._states')
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pandas/io/html.py", line 906, in read_html
keep_default_na=keep_default_na)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pandas/io/html.py", line 733, in _parse
parser = _parser_dispatch(flav)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pandas/io/html.py", line 693, in _parser_dispatch
raise ImportError("lxml not found, please install it")
ImportError: lxml not found, please install it
В Anaconda у меня установлена последняя версия lxml
(3.8.0). Несмотря на это, я попытался переустановить его двумя способами:
- выполнив команду
pip install lxml
. - загрузив колесо
lxml
, соответствующее моей версии Python (lxml-3.8.0-cp36-cp36m-win_amd64.whl
), но в этом случае я получаю сообщение о том, что это "не поддерживаемое колесо на этой платформе", хотя версия Python верная (3.6, 64 бита).
Я читал на аналогичные вопросы здесь (даже с тем же кодом, так как он из руководства), но проблема не решается.
5 ответ(ов)
Для тех, кто оказался здесь, используя Jupyter Notebook: я перезагрузил ядро после выполнения pip install lxml
, и ошибка исчезла.
Я получил ту же ошибку. Похоже, что мой python3 указывал на pandas из python2 (так как я не установил pandas в python3). После того как я выполнил pip3 install pandas
и перезапустил ноутбук, все заработало нормально.
Возможно, вам потребуется (пере)установить некоторые из ваших библиотек, выполнив команду
pip install lxml bs4 html5lib
.Функция
pd.read_html()
по умолчанию использует библиотеку 'lxml', поэтому вы можете попробовать использовать другую библиотеку, которую вы установили выше, например:pd.read_html(some_url, flavor='html5lib')
.
Ваш запрос можно перевести как:
"Для меня команда
pip install --upgrade lxml_html_clean
сработала."
Вы можете перейти в Настройки > Интерпретатор проекта > Нажмите на иконку +
.
Найдите lxml
в списке пакетов и нажмите кнопку Установить пакет
, которая находится ниже.
Я использую PyCharm 2019.2.1 (Community Edition)
Сборка #PC-192.6262.63, собрана 22 августа 2019 года
Версия среды выполнения: 11.0.3+12-b304.39 amd64
Виртуальная машина: OpenJDK 64-Bit Server VM от JetBrains s.r.o
Linux 4.15.0-58-generic
Сборка мусора: ParNew, ConcurrentMarkSweep
Память: 937M
Ядра: 4
Фиксация количества знаков после запятой с помощью f-строк
Ошибка: "'dict' объект не имеет метода 'iteritems'"
Скачать видео с YouTube с помощью Python в определённую директорию
Доступ к атрибутам на литералах работает для всех типов, кроме `int`; почему?
Преобразование байтового массива обратно в массив numpy