ImportError: Kein Modul mit dem Namen bs4 (BeautifulSoup)

139

Ich arbeite in Python und benutze Flask. Wenn ich meine Haupt-Python-Datei auf meinem Computer ausführe, funktioniert es einwandfrei. Wenn ich jedoch venv aktiviere und die Flask-Python-Datei im Terminal ausführe, heißt es, dass meine Haupt-Python-Datei "No Module Named bs4" enthält. Kommentare oder Ratschläge werden sehr geschätzt.

harryt
quelle
3
... hast du bs4 in der virtualenv installiert?
Colin Dunklau
1
Nein, ich verwende Ubuntu und verwende "easy_install beautifulsoup4"
Harry

Antworten:

216

Aktivieren Sie die virtuelle Umgebung und installieren Sie BeautifulSoup4:

$ pip install BeautifulSoup4

Bei der Installation bs4mit easy_installhaben Sie es systemweit installiert. Ihr Systempython kann es also importieren, nicht jedoch Ihr virtuelles Python. Wenn Sie nicht brauchenbs4 in Ihrem System-Python-Pfad installiert sein , deinstallieren Sie ihn und behalten Sie ihn in Ihrer virtuellen Umgebung bei.

Weitere Informationen zu virtualenvs finden Sie hier

Balthazar Rouberol
quelle
4
Stellen Sie sich (zum Beispiel) vor, Sie arbeiten an einem Projekt, für das eine bestimmte Version eines Moduls erforderlich ist. Möglicherweise arbeiten Sie auch an einem anderen Projekt, für das eine andere Version dieses Moduls erforderlich ist . Wenn sich jedes Projekt in virtualenvs befindet, verfügen Sie über zwei absolut unabhängige Python-Umgebungen, anstatt über eine System-Python-Umgebung mit zwei Versionen desselben Moduls. Halten Sie Ihre Systemumgebung sauber. Arbeiten Sie in virtuellen Umgebungen.
Balthazar Rouberol
1
Ich kann nicht installieren, erhalte Fehler locale.Error: unsupported locale settingHaben Sie eine Idee?
coderInrRain
Ich kann nicht wirklich ohne einen Traceback
Balthazar Rouberol
Denken Sie auch daran, dass Sie, wenn Sie ein Venv verwenden, die Python-Binärdatei dieses Venv verwenden müssen . /usr/bin/python(unter Mac OS) ist falsch; es sollte sein<your path to your venv>/bin/python
joemadeus
Ich musste () Python beenden, damit die PIP-Installation funktioniert :)
Eoin
54

Für python2.x :

sudo pip install BeautifulSoup4

Für Python3 :

sudo apt-get install python3-bs4
SparkAndShine
quelle
3
Die offizielle Website crummy.comhat keinen python3-bs4Paketnamen angegeben.
Suraj
1
für Python 3 sudo pip install BeautifulSoup4funktioniert auch
ishandutta2007
13

Einfach auf Balthazars Antwort eingehen. Laufen

pip install BeautifulSoup4

hat bei mir nicht funktioniert. Verwenden Sie stattdessen

pip install beautifulsoup4
Airswoop1
quelle
7
pip3 install BeautifulSoup4

Versuche dies. Für mich geht das. Der Grund ist gut erklärt hier ..

Wimukthi Rajapaksha
quelle
5

Wenn Sie Anaconda für die Paketverwaltung verwenden, sollten Sie Folgendes tun:

conda install -c anaconda beautifulsoup4

Arnab Biswas
quelle
1
Die Option "-c anaconda" ist die Standardeinstellung, daher macht "conda install beautifulsoup4" dasselbe und ist leichter zu merken :-)
PatrickT
5

Wenn Sie Pycharm verwenden , gehen Sie zu preferences - project interpreter - install bs4.

Wenn Sie versuchen, BeautifulSoup zu installieren , wird weiterhin angezeigt, dass kein Modul benannt ist bs4.

Alice
quelle
4

Ich rate Ihnen, die bs4-Bibliothek mit diesem Befehl zu deinstallieren:

pip deinstalliere bs4

und installieren Sie es dann mit diesem Befehl:

sudo apt-get install python3-bs4

Ich hatte das gleiche Problem in meinem Linux-Ubuntu, als ich den folgenden Befehl zum Installieren der bs4-Bibliothek verwendete:

pip install bs4

Shashank Rawat
quelle
3

Versuche dies:

sudo python3 -m pip install bs4
Rayid Ali
quelle
2

pip install --user BeautifulSoup4

Manoj Kumar
quelle
1
pip3.7 install bs4

Versuche dies. Es funktioniert mit Python 3.7

Franck Herve
quelle
1

Ich habe getan, was @ rayid-ali gesagt hat, außer dass ich auf einem Windows 10-Computer bin, also habe ich den Sudo weggelassen. Das heißt, ich habe Folgendes getan:

python3 -m pip install bs4

und es funktionierte wie ein Pycharm. Arbeitete sowieso wie ein Zauber.

23r0c001
quelle
0

Am einfachsten ist die Verwendung von easy_install.

easy_install bs4 

Es wird funktionieren, wenn pip ausfällt.

Puma-Lima
quelle
0

Viele Tutorials / Referenzen wurden für Python 2 geschrieben und empfehlen Ihnen, den Pip-Installationsnamen zu verwenden. Wenn Sie Python 3 verwenden, möchten Sie dies in pip3 install somename ändern.

Clarius
quelle
0

Vielleicht möchten Sie versuchen, bs4 mit zu installieren

pip install --ignore-installed BeautifulSoup4

wenn die oben genannten Methoden bei Ihnen nicht funktioniert haben.

Ediz Emektas
quelle
0

Versuchen Sie, das Modul neu zu installieren, ODER versuchen Sie, mit dem folgenden Befehl eine schöne Suppe zu installieren

pip install --ignore-installed BeautifulSoup4
Harsith Priyan Sivanandham
quelle