ImportError: nessun modulo denominato bs4 (BeautifulSoup)


138

Sto lavorando in Python e sto usando Flask. Quando eseguo il mio file Python principale sul mio computer, funziona perfettamente, ma quando attivo venv ed eseguo il file Flask Python nel terminale, dice che il mio file Python principale ha "No Module Named bs4". Qualsiasi commento o consiglio è molto apprezzato.


3
... hai installato bs4 in virtualenv?
Colin Dunklau,

1
no, sto eseguendo Ubuntu e ho usato "easy_install beautifulsoup4"
harryt

Risposte:


215

Attiva virtualenv, quindi installa BeautifulSoup4:

$ pip install BeautifulSoup4

Una volta installato bs4con easy_install, lo hai installato a livello di sistema. Quindi il tuo Python di sistema può importarlo, ma non il tuo Python virtuale. Se non hai bisogno bs4di essere installato nel tuo percorso python di sistema, disinstallalo e tienilo nel tuo virtualenv.

Per ulteriori informazioni su virtualenvs, leggi questo


4
Immagina (per esempio) che stai lavorando a un progetto che richiede una versione specifica di un modulo. Potresti anche lavorare su un progetto diverso, che richiede una versione diversa di questo modulo. Se ogni progetto si trova in virtualenvs, avrai due ambienti python assolutamente indipendenti, invece di avere un ambiente python di sistema con due versioni dello stesso modulo. Mantieni pulito il tuo sistema. Lavora in virtualenvs.
Balthazar Rouberol,

1
Non riesco a installare, ottieni errore locale.Error: unsupported locale settingHai qualche idea?
coderInrain

Non posso davvero immaginare senza un traceback, ma dare un'occhiata a stackoverflow.com/questions/14547631/...
Balthazar Rouberol

Ricorda anche che se stai usando un venv, devi usare il binario python di quel venv . /usr/bin/python(su Mac OS) è errato; dovrebbe essere<your path to your venv>/bin/python
joemadeus il

Ho dovuto uscire da () Python in modo che l'installazione PIP funzionasse :)
Eoin

54

Per python2.x :

sudo pip install BeautifulSoup4

Per python3 :

sudo apt-get install python3-bs4

3
Il sito ufficiale crummy.comnon è riuscito a fornire il python3-bs4nome del pacchetto.
Suraj,

1
anche per python 3 sudo pip install BeautifulSoup4funziona
ishandutta2007,

13

Ho appena taggato la risposta di Balthazar. In esecuzione

pip install BeautifulSoup4

Non ha funzionato per me. Invece usa

pip install beautifulsoup4


5

Se si utilizza Anaconda per la gestione dei pacchetti, attenersi alla seguente procedura:

conda install -c anaconda beautifulsoup4


1
L'opzione "-c anaconda" è l'impostazione predefinita, quindi "conda install beautifulsoup4" fa lo stesso ed è più facile da memorizzare :-)
PatrickT

5

Se usi Pycharm , vai apreferences - project interpreter - install bs4 .

Se si tenta di installare BeautifulSoup , mostrerà comunque che nessun modulo denominato bs4.


4

Ti consiglierò di disinstallare la libreria bs4 usando questo comando:

pip disinstallazione bs4

e quindi installarlo usando questo comando:

sudo apt-get install python3-bs4

Stavo affrontando lo stesso problema nel mio Ubuntu Linux quando ho usato il seguente comando per l'installazione della libreria bs4:

pip install bs4





1

Ho fatto quello che ha detto @ rayid-ali, tranne per il fatto che sono su una macchina Windows 10, quindi ho lasciato fuori il sudo. Cioè, ho fatto quanto segue:

python3 -m pip install bs4

e ha funzionato come un farmacologo. Ha funzionato come un fascino comunque.


0

Il più semplice è usare easy_install.

easy_install bs4 

Funzionerà se pip fallisce.


0

Molti tutorial / riferimenti sono stati scritti per Python 2 e ti dicono di usare pip install somename. Se stai usando Python 3 vuoi cambiarlo in pip3 install somename.


0

Potresti provare a installare bs4 con

pip install --ignore-installed BeautifulSoup4

se i metodi sopra non hanno funzionato per te.


0

Prova a reinstallare il modulo O prova a installare con una bella zuppa con il comando seguente

pip install --ignore-installed BeautifulSoup4

0

Addendum alla query originale: modules.py

help('modules')

$python modules.py

Elenca che il modulo bs4 è già stato installato.

_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 soluzione corretta è:

pip install --upgrade bs4

Dovrebbe risolvere il problema.

Non solo, mostrerà lo stesso errore anche per altri moduli. Quindi devi emettere il comando pip allo stesso modo sopra per quei moduli errati.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.