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é.

harryt
la source
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

Balthazar Rouberol
la source
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
SparkAndShine
la source
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
Airswoop1
la source
7
pip3 install BeautifulSoup4

Essaye ça. Ça marche pour moi. La raison est bien expliquée ici .

Wimukthi Rajapaksha
la source
5

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

conda install -c anaconda beautifulsoup4

Arnab Biswas
la source
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.

Alice
la source
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

Shashank Rawat
la source
3

Essaye ça:

sudo python3 -m pip install bs4
Rayid Ali
la source
2

pip install --user BeautifulSoup4

Manoj Kumar
la source
1
pip3.7 install bs4

Essaye ça. Cela fonctionne avec python 3.7

Franck Hervé
la source
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.

23r0c001
la source
0

Le plus simple est d'utiliser easy_install.

easy_install bs4 

Cela fonctionnera si pip échoue.

puma-lima
la source
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.

Clarius
la source
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.

Ediz Emektas
la source
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
Harsith Priyan Sivanandham
la source
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.

Biddut Mitra
la source