rusyska55011
@rusyska55011

Как подключить библиотеку html.parser к bs4, если bs4 уставновлен локально в папке проекта?

Есть проект, где находится папка libraries, в ней содержатся библиотеки, чтобы человек не устанавливал пакеты когда пользуется моим приложением.
Тестовый код:
from libraries.beautifulsoup4.bs4 import BeautifulSoup
html = '<div> Hello! </div>'
soup = BeautifulSoup(html, 'html.parser')
print(soup.find('div'))


Выдает следующую ошибку:
raise FeatureNotFound(
libraries.beautifulsoup4.bs4.FeatureNotFound: Couldn't find a tree builder with the features you requested: html.parser. Do you need to install a parser library?

Проблема в том как bs4 ищет библиотеки - он просит не путь, а ее название. Этот самый путь он как-то строит сам. Системную библиотеку html.parser нашел, добавлял, путь прописывал но не работает. Я не понимаю как стоится маршрут.

Все работает если запускать bs4 установленный через pip (from bs4 import BeatufulSoup).
  • Вопрос задан
  • 165 просмотров
Решения вопроса 1
phaggi
@phaggi
лужу, паяю, ЭВМы починяю
Если глянуть исходники, то видно, что там есть свой htmlparser, в котором кстати подразумевается, что bs4 импортировано, ну и вообще. Очевидно, надо делать много-много прямых импортов всего, что там используется.

Но я бы осторожнее подходил к вопросу копирования библиотек - там могут быть бинарники, компилируемые при установке либо скомпилированные заранее под вашу систему.

Лучше при помощи pip создать requirements.txt и потом
pip install -r requirements.txt
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы