ImportError: Brak modułu o nazwie bs4 (BeautifulSoup)

138

Pracuję w Pythonie i używam Flaska. Kiedy uruchamiam mój główny plik Pythona na moim komputerze, działa on doskonale, ale kiedy aktywuję venv i uruchamiam plik Flask Python w terminalu, pojawia się komunikat, że mój główny plik Pythona ma „Brak modułu o nazwie bs4”. Wszelkie uwagi lub porady są bardzo mile widziane.

harryt
źródło
3
... czy zainstalowałeś bs4 w virtualenv?
Colin Dunklau
1
nie, używam Ubuntu i używam "easy_install beautifulsoup4"
harryt

Odpowiedzi:

215

Aktywuj virtualenv, a następnie zainstaluj BeautifulSoup4:

$ pip install BeautifulSoup4

Po zainstalowaniu bs4z easy_installprogramem zainstalowałeś go w całym systemie. Więc twój systemowy python może go zaimportować, ale nie twój virtualenv python. Jeśli nie potrzebujeszbs4 być instalowany w swojej systemowej ścieżce Pythona, odinstaluj go i zachowaj w swoim virtualenv.

Aby uzyskać więcej informacji o virtualenvs, przeczytaj to

Balthazar Rouberol
źródło
4
Wyobraź sobie (na przykład), że pracujesz nad projektem, który wymaga określonej wersji modułu. Możesz również pracować nad innym projektem, wymagającym innej wersji tego modułu. Jeśli każdy projekt znajduje się w virtualenvs, będziesz mieć dwa całkowicie niezależne środowiska Pythona, zamiast mieć systemowe środowisko Python z dwiema wersjami tego samego modułu. Utrzymuj środowisko systemu w czystości. Pracuj w virtualenvach.
Balthazar Rouberol
1
Nie mogę zainstalować, pojawia się błąd. locale.Error: unsupported locale settingMasz jakiś pomysł?
coderInrRain
Nie mogę zgadnąć bez śledzenia, ale spójrz na stackoverflow.com/questions/14547631/ ...
Balthazar Rouberol
Pamiętaj też, że jeśli używasz venv, musisz użyć binarnego pythona z tego venv . /usr/bin/python(w systemie Mac OS) jest źle; powinno być<your path to your venv>/bin/python
joemadeus
Musiałem wyjść () z Pythona, aby instalacja PIP działała :)
Eoin
54

W przypadku python2.x :

sudo pip install BeautifulSoup4

W przypadku python3 :

sudo apt-get install python3-bs4
SparkAndShine
źródło
3
Oficjalna witryna crummy.comnie podała python3-bs4nazwy pakietu.
Suraj
1
dla Pythona 3 też sudo pip install BeautifulSoup4działa
ishandutta2007
13

Po prostu zaznaczam odpowiedź Balthazara. Bieganie

pip install BeautifulSoup4

nie działa dla mnie. Zamiast tego użyj

pip install beautifulsoup4
Airswoop1
źródło
7
pip3 install BeautifulSoup4

Spróbuj tego. Mi to pasuje. Powód jest dobrze wyjaśniony tutaj .

Wimukthi Rajapaksha
źródło
5

Jeśli używasz Anacondy do zarządzania pakietami, wykonaj następujące czynności:

conda install -c anaconda beautifulsoup4

Arnab Biswas
źródło
1
Opcja "-c anaconda" jest domyślna, więc "conda install beautifulsoup4" robi to samo i jest łatwiejsze do zapamiętania :-)
PatrickT
5

Jeśli używasz Pycharm , przejdź dopreferences - project interpreter - install bs4 .

Jeśli spróbujesz zainstalować BeautifulSoup , nadal będzie pokazywać, że żaden moduł o nazwie bs4.

Alice
źródło
4

Radzę odinstalować bibliotekę bs4 za pomocą tego polecenia:

odinstaluj pip bs4

a następnie zainstaluj go za pomocą tego polecenia:

sudo apt-get install python3-bs4

Miałem ten sam problem w moim Linux Ubuntu, gdy użyłem następującego polecenia do zainstalowania biblioteki bs4:

pip zainstaluj bs4

Shashank Rawat
źródło
3

Spróbuj tego:

sudo python3 -m pip install bs4
Rayid Ali
źródło
2

pip install --user BeautifulSoup4

Manoj Kumar
źródło
1
pip3.7 install bs4

Spróbuj tego. Działa z Pythonem 3.7

Franck Herve
źródło
1

Zrobiłem to, co powiedział @ rayid-ali, z wyjątkiem tego, że jestem na komputerze z systemem Windows 10, więc pominąłem sudo. Oznacza to, że wykonałem następujące czynności:

python3 -m pip install bs4

i działał jak pycharm. I tak działało jak urok.

23r0c001
źródło
0

Najłatwiej jest użyć easy_install.

easy_install bs4 

Będzie działać, jeśli pip zawiedzie.

puma-lima
źródło
0

Wiele samouczków / referencji zostało napisanych dla Pythona 2 i mówi ci, aby użyć pip install somename. Jeśli używasz Pythona 3, chcesz to zmienić na pip3 install somename.

Clarius
źródło
0

Możesz spróbować zainstalować bs4 z

pip install --ignore-installed BeautifulSoup4

jeśli powyższe metody nie działają dla Ciebie.

Ediz Emektas
źródło
0

Spróbuj ponownie zainstalować moduł LUB spróbuj zainstalować z piękną zupą za pomocą poniższego polecenia

pip install --ignore-installed BeautifulSoup4
Harsith Priyan Sivanandham
źródło
0

Dodatek do pierwotnego zapytania: modules.py

help('modules')

$python modules.py

Zawiera listę, że moduł bs4 został już zainstalowany.

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

Właściwym rozwiązaniem jest:

pip install --upgrade bs4

Powinien rozwiązać problem.

Nie tylko to, pokaże ten sam błąd również dla innych modułów. Więc musisz wydać polecenie pip w taki sam sposób, jak powyżej dla tych błędnych modułów.

Biddut Mitra
źródło