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.


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


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

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


5

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

conda install -c anaconda beautifulsoup4


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.


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





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.


0

Najłatwiej jest użyć easy_install.

easy_install bs4 

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


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.


0

Możesz spróbować zainstalować bs4 z

pip install --ignore-installed BeautifulSoup4

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


0

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

pip install --ignore-installed BeautifulSoup4

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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.