ImportError: aucun module nommé bs4 (BeautifulSoup)


138

Je travaille en Python et j'utilise Flask. Lorsque j'exécute mon fichier Python principal sur mon ordinateur, cela fonctionne parfaitement, mais lorsque j'active venv et que j'exécute le fichier Flask Python dans le terminal, cela indique que mon fichier Python principal a "Aucun module nommé bs4". Tout commentaire ou conseil est grandement apprécié.


3
... avez-vous installé bs4 dans virtualenv?
Colin Dunklau

1
non, je lance ubuntu et j'ai utilisé "easy_install beautifulsoup4"
harryt

Réponses:


215

Activez le virtualenv, puis installez BeautifulSoup4:

$ pip install BeautifulSoup4

Lorsque vous avez installé bs4avec easy_install, vous l'avez installé à l'échelle du système. Ainsi, votre système python peut l'importer, mais pas votre python virtualenv. Si vous n'avez pas besoin bs4d'être installé dans le chemin python de votre système, désinstallez-le et conservez-le dans votre virtualenv.

Pour plus d'informations sur virtualenvs, lisez ceci


4
Imaginez (par exemple) que vous travaillez sur un projet qui nécessite une version spécifique d'un module. Vous travaillez peut-être également sur un projet différent, nécessitant une version différente de ce module. Si chaque projet est situé dans virtualenvs, vous aurez deux environnements python absolument indépendants, au lieu d'avoir un environnement système python avec deux versions du même module. Gardez l'environnement de votre système propre. Travaillez dans virtualenvs.
Balthazar Rouberol

1
Je ne peux pas installer, obtenir une erreur locale.Error: unsupported locale settingAvez-vous une idée?
coderInrRain

Je ne peux pas vraiment deviner sans trace, mais jetez un œil à stackoverflow.com/questions/14547631/…
Balthazar Rouberol

Souvenez-vous également que si vous utilisez un venv, vous devez utiliser le binaire python de ce venv . /usr/bin/python(sur un Mac OS) est faux; ça devrait être<your path to your venv>/bin/python
joemadeus

J'ai dû quitter () Python pour que l'installation de PIP fonctionne :)
Eoin le

54

Pour python2.x :

sudo pip install BeautifulSoup4

Pour python3 :

sudo apt-get install python3-bs4

3
Le site officiel crummy.comn'a pas fourni le python3-bs4nom du package.
Sourate

1
pour python 3 sudo pip install BeautifulSoup4fonctionne aussi
ishandutta2007

13

Je viens de me connecter à la réponse de Balthazar. Fonctionnement

pip install BeautifulSoup4

N'a pas travaillé pour moi. Utilisez plutôt

pip install beautifulsoup4


5

Si vous utilisez Anaconda pour la gestion des packages, procédez comme suit:

conda install -c anaconda beautifulsoup4


1
L'option "-c anaconda" est la valeur par défaut, donc "conda install beautifulsoup4" fait de même et est plus facile à mémoriser :-)
PatrickT

5

Si vous utilisez Pycharm , accédez à preferences - project interpreter - install bs4.

Si vous essayez d'installer BeautifulSoup , il affichera toujours qu'aucun module nommé bs4.


4

Je vous conseillerai de désinstaller la bibliothèque bs4 en utilisant cette commande:

pip désinstaller bs4

puis installez-le en utilisant cette commande:

sudo apt-get installer python3-bs4

J'étais confronté au même problème dans mon Linux Ubuntu lorsque j'ai utilisé la commande suivante pour installer la bibliothèque bs4:

pip installer bs4





1

J'ai fait ce que @ rayid-ali a dit, sauf que je suis sur une machine Windows 10, alors j'ai laissé de côté le sudo. Autrement dit, j'ai fait ce qui suit:

python3 -m pip install bs4

et cela a fonctionné comme un pycharm. A fonctionné comme un charme de toute façon.


0

Le plus simple est d'utiliser easy_install.

easy_install bs4 

Cela fonctionnera si pip échoue.


0

De nombreux tutoriels / références ont été écrits pour Python 2 et vous indiquent d'utiliser pip install somename. Si vous utilisez Python 3, vous voulez changer cela en pip3 install somename.


0

Vous voudrez peut-être essayer d'installer bs4 avec

pip install --ignore-installed BeautifulSoup4

si les méthodes ci-dessus ne fonctionnent pas pour vous.


0

Essayez de réinstaller le module OU essayez d'installer avec une belle soupe avec la commande ci-dessous

pip install --ignore-installed BeautifulSoup4

0

Addendum à la requête d'origine: modules.py

help('modules')

$python modules.py

Il répertorie ce module bs4 déjà installé.

_codecs_kr          blinker             json                six
_codecs_tw          brotli              kaitaistruct        smtpd
_collections        bs4                 keyword             smtplib
_collections_abc    builtins            ldap3               sndhdr
_compat_pickle      bz2                 lib2to3             socket

La bonne solution est:

pip install --upgrade bs4

Devrait résoudre le problème.

Non seulement cela, il affichera également la même erreur pour les autres modules. Vous devez donc émettre la commande pip de la même manière que ci-dessus pour ces modules erronés.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.