bs4.FeatureNotFound: ... lxml с MacOS и Conda / Python 3 - PullRequest
0 голосов
/ 08 сентября 2018

Я получаю ту же ошибку, что и в этой ветке за 4 года: bs4.FeatureNotFound: Не удалось найти конструктор дерева с запрашиваемыми функциями: lxml. Вам нужно установить библиотеку парсера?

Но я использую MacOS, IntelliJ и Conda / Python 3 в качестве среды. Вещи, которые я пробовал:

$ STATIC_DEPS=true sudo pip install lxml

и

$ pip install -U lxml
Collecting lxml
  Downloading https://files.pythonhosted.org/packages/16/31/be98027f5cd909e698210092ffc7d2e339492bc82cc872557b05f2ba3546/lxml-4.2.4-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (8.7MB)
    100% |████████████████████████████████| 8.7MB 2.8MB/s 
Installing collected packages: lxml
  Found existing installation: lxml 4.1.1
    Uninstalling lxml-4.1.1:
      Successfully uninstalled lxml-4.1.1
Successfully installed lxml-4.2.4

после этого:

$ python3 -m pip install lxml
Requirement already satisfied: lxml in /anaconda3/lib/python3.6/site-packages (4.2.4)

Но я все еще получаю ту же ошибку при выполнении моего скрипта в IntelliJ:

  File "/Users/blabla/katalog-scanner/KatalogScanner.py", line 149, in <module>
    soup = BeautifulSoup(html, 'lxml')
  File "/anaconda3/envs/katalog-scanner/lib/python3.6/site-packages/bs4/__init__.py", line 198, 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?

Я также попытался переключиться на html5lib в своем коде, что привело к той же ошибке, сказав, что html5lib был запрошен и не найден. Что еще я могу попробовать?

1 Ответ

0 голосов
/ 10 сентября 2018

У меня было несколько установок Python на моей машине, предоставленных

  • доморощенный
  • Анаконда
  • easy_install

менеджеры пакетов. Я полностью удалил экземпляр anaconda (находился прямо под моим macintosh-hd), удалил easy_install и brew uninstall python --force, чтобы удалить все экземпляры python (2.7, 3.6, 3.7), которые у меня были в usr / local / bin

тогда я установил только с homebrew: brew install python3

тогда вам нужно связать команды python и pip с python3 / pip3, открыв

~/.bash_profile

положить это туда и сохранить:

alias python='python3'
alias pip='pip3'

затем обновите терминал (может быть, вам нужно перезапустить его полностью или даже ОС):

source ~/.bashrc

затем python --version должен показать самую последнюю версию 3.x и вы должны быть в состоянии сделать это: (вторая команда запускает интерпретатор python, четвертая заканчивает его)

pip install beautifulsoup4
python
import bs4
exit()

Теперь вам нужно перейти к IntelliJ> Файл> Структура проекта и добавить Python 3.x SDK в Настройки платформы (SDK) и установить для параметров проекта> Project SDK этот SDK

Раньше у меня также был .iml-файл IntelliJ, но проект, кажется, работает нормально без

...