Bonjour à tous,

Je rencontre un petit problème que je n'arrive pas à solutionner, voici ci-dessous l'architecture :
main.py
packages/bs4
packages/...
main.py :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
from packages.bs4 import BeautifulSoup
from urllib.request import urlopen
import html.parser
 
html = urlopen('https://www.google.fr').read()
soup = BeautifulSoup(html, features="html.parser")
Dans le dossier "packages" j'ai importé les modules dont j'ai besoin grâce à la commande (par exemple) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
python -m pip install beautifulsoup4 --target packages
Lorsque je lance mon code, j'obtiens l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
$ python main.py
Traceback (most recent call last):
  File "main.py", line 5, in <module>
    soup = BeautifulSoup(html, features="html.parser")
  File "C:\Users\toto\Documents\repos\scripts\python\perso\packages\bs4\__init__.py", line 213, in __init__
    raise FeatureNotFound(
packages.bs4.FeatureNotFound: Couldn't find a tree builder with the features you requested: html.parser. Do you need to install a parser library?
J'ai pourtant installé en local (pas dans "packages") le htmlparser dont il a besoin, j'ai tenté avec "lxml" comme indiqué dans la doc, pareille.
J'ai essayé en les installant dans "packages" et en sourçant via un "from packages.htmlparser import *", j'ai rajouté un "__init__.py" dans "packages", enfin j'ai essayé pas mal de choses mais toutes sans succès.
Si je fais un "from bs4 import BeautifulSoup" (sans le sourcer depuis le "packages") ça fonctionne!

Pouvez-vous m'aider je ne comprend pas comment ça fonctionne !?

Merci beaucoup