web-dev-qa-db-fra.com

beautifulsoup, html5lib: l'objet module n'a pas d'attribut _base

Lorsque j'ai mis à jour mes paquets, j'ai cette nouvelle erreur:

class TreeBuilderForHtml5lib(html5lib.treebuilders._base.TreeBuilder):
AttributeError: 'module' object has no attribute '_base'

J'ai essayé de mettre à jour beautifulsoup, sans résultat supplémentaire. Comment puis-je résoudre ce problème?

58
Ehvince

edit nov, 2017: il semble que cela ne fonctionne plus

Enfin découvert, un moteur de recherche n'a rien jeté, mais il est référencé dans le suivi des problèmes de beautifulsoup: https://bugs.launchpad.net/beautifulsoup/+bug/1603299

ça marche avec html5lib v0.9999999 (7 neuf)

"html5lib<=0.9999999"
19
Ehvince

J'ai mis à niveau beautifulsoup4 et html5lib et le problème a été résolu.

pip install --upgrade beautifulsoup4
pip install --upgrade html5lib
103
Modriano

Ceci est un problème avec le paquetage en amont html5lib: https://bugs.launchpad.net/beautifulsoup/+bug/1603299 Pour résoudre ce problème, forcez le passage à une version antérieure:

pip installer --upgrade html5lib == 1.0b8

26
Bhavuk

La rétrogradation vers html5lib 1.0b8 dans @Bhavuk answer fonctionne, mais corrige un problème de version avec bleach.

La solution pour moi était avec un changement de version de javel pour être compatible avec la nouvelle version de html5lib

pip install --upgrade bs4
pip install --upgrade bleach==1.4.2
pip install --upgrade html5lib==1.0b8

Python version 3.5

7
recurseuntilfor

Le même problème s'est produit sur moi. Je ne sais pas ce que vous essayiez de faire, mais cela m'est arrivé lorsque j'ai essayé de lire un fichier XML dans un pandas, en utilisant pd.read_html().

Le problème est résolu en mettant à niveau tout les fichiers beautifulsoup4, html5lib et lxml, comme suit:

pip install bs4
pip install html5lib
pip install lxml

Et redémarrez votre environnement Python et il fonctionne maintenant.

3
Blaszard

Cette commande a résolu le problème pour moi:

 Sudo pip install html5lib==0.9999999
0
kavya