ImportError: nenhum módulo chamado bs4 (BeautifulSoup)


138

Estou trabalhando em Python e usando o Flask. Quando executo meu arquivo Python principal no meu computador, ele funciona perfeitamente, mas quando eu ativo o venv e executo o arquivo Flask Python no terminal, ele diz que meu arquivo Python principal tem "No Module Named bs4". Quaisquer comentários ou conselhos são muito apreciados.


3
... você instalou o bs4 no virtualenv?
Colin Dunklau

1
não, eu estou rodando o ubuntu e usei "easy_install beautifulsoup4"
harryt

Respostas:


215

Ative o virtualenv e instale o BeautifulSoup4:

$ pip install BeautifulSoup4

Quando instalado bs4com easy_install, você instalou-lo em todo o sistema. Portanto, o python do sistema pode importá-lo, mas não o python virtualenv. Se você não precisar bs4ser instalado no caminho python do sistema, desinstale-o e mantenha-o em seu virtualenv.

Para mais informações sobre virtualenvs, leia este


4
Imagine (por exemplo) que você está trabalhando em um projeto que requer uma versão específica de um módulo. Você também pode estar trabalhando em um projeto diferente, exigindo uma versão diferente deste módulo. Se cada projeto estiver localizado em virtualenvs, você terá dois ambientes python absolutamente independentes, em vez de ter um ambiente python do sistema com duas versões do mesmo módulo. Mantenha o seu sistema limpo. Trabalhe em virtualenvs.
Balthazar Rouberol

1
Não consigo instalar, recebo erro locale.Error: unsupported locale settingVocê tem alguma ideia?
CoderInrRain

Eu não posso realmente acho que sem um rastreamento, mas ter um olhar para stackoverflow.com/questions/14547631/...
Balthazar Rouberol

Lembre-se também de que, se você estiver usando um venv, precisará usar o binário python desse venv . /usr/bin/python(em um Mac OS) está errado; deve ser<your path to your venv>/bin/python
joemadeus 28/06/19

Eu tive que sair do Python () para que a instalação do PIP funcionasse :)
Eoin

54

Para python2.x :

sudo pip install BeautifulSoup4

Para python3 :

sudo apt-get install python3-bs4

3
O site oficial crummy.comfalhou ao fornecer o python3-bs4nome do pacote.
Suraj 24/05

1
Para python 3 também sudo pip install BeautifulSoup4funciona
ishandutta2007

13

Basta marcar a resposta de Balthazar. Corrida

pip install BeautifulSoup4

não funcionou para mim. Em vez disso, use

pip install beautifulsoup4


5

Se você estiver usando o Anaconda para gerenciamento de pacotes, faça o seguinte:

conda install -c anaconda beautifulsoup4


1
A opção "-c anaconda" é o padrão, portanto, "conda install beautifulsoup4" faz o mesmo e é mais fácil de memorizar :-)
PatrickT

5

Se você usa Pycharm , vá para preferences - project interpreter - install bs4.

Se você tentar instalar o BeautifulSoup , ele ainda mostrará que nenhum módulo chamado bs4.


4

Vou aconselhá-lo a desinstalar a biblioteca bs4 usando este comando:

desinstalar pip bs4

e instale-o usando este comando:

sudo apt-get install python3-bs4

Eu estava enfrentando o mesmo problema no meu Linux Ubuntu quando usei o seguinte comando para instalar a biblioteca bs4:

pip install bs4





1

Fiz o que o @ rayid-ali disse, exceto que estou em uma máquina com Windows 10, então deixei de fora o sudo. Ou seja, eu fiz o seguinte:

python3 -m pip install bs4

e funcionou como um pycharm. Funcionou como um encanto de qualquer maneira.


0

O mais fácil é usar o easy_install.

easy_install bs4 

Funcionará se o pip falhar.


0

Muitos tutoriais / referências foram escritos para o Python 2 e dizem para você usar o pip install somename. Se você estiver usando o Python 3, deseje mudar isso para o pip3, instale um nome de arquivo.


0

Você pode tentar instalar o bs4 com

pip install --ignore-installed BeautifulSoup4

se os métodos acima não funcionaram para você.


0

Tente reinstalar o módulo OU Tente instalar com uma sopa bonita com o comando abaixo

pip install --ignore-installed BeautifulSoup4
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.