ImportError: Модуль без имени bs4 (BeautifulSoup)

138

Я работаю в Python и использую Flask. Когда я запускаю свой основной файл Python на моем компьютере, он работает отлично, но когда я активирую venv и запускаю файл Flask Python в терминале, он говорит, что мой основной файл Python имеет «No Module Named bs4». Любые комментарии или советы с благодарностью.

harryt
источник
3
... вы установили bs4 в virtualenv?
Колин Данклау
1
нет, я использую Ubuntu и использую "easy_install beautifulsoup4"
Harryt

Ответы:

215

Активируйте virtualenv, а затем установите BeautifulSoup4:

$ pip install BeautifulSoup4

Когда вы установили bs4с easy_install, вы установили его для всей системы. Таким образом, ваш системный питон может импортировать его, но не ваш виртуальный питон. Если вам не нужно bs4устанавливать в системный путь python, удалите его и сохраните его в своем virtualenv.

Для получения дополнительной информации о virtualenvs, прочитайте это

Бальтазар Рубероль
источник
4
Представьте себе (для примера), что вы работаете над проектом, который требует определенной версии модуля. Вы также можете работать над другим проектом, требующим другой версии этого модуля. Если каждый проект находится в virtualenvs, у вас будет две абсолютно независимые среды Python вместо системной среды Python с двумя версиями одного и того же модуля. Держите вашу систему чистой. Работа в virtualenvs.
Balthazar Rouberol
1
Я не могу установить, получаю ошибку locale.Error: unsupported locale settingУ вас есть идеи?
coderInrRain
Я не могу по-настоящему угадать без трассировки, но взгляните на stackoverflow.com/questions/14547631/…
Бальтазар Рубероль
Также помните, что если вы используете venv, вы должны использовать двоичный файл python из этого venv . /usr/bin/python(на Mac OS) не так; так и должно быть<your path to your venv>/bin/python
joemadeus
Мне пришлось выйти () Python, чтобы установка PIP работала :)
Eoin
54

Для python2.x :

sudo pip install BeautifulSoup4

Для python3 :

sudo apt-get install python3-bs4
SparkAndShine
источник
3
На официальном сайте crummy.comне удалось python3-bs4указать название пакета.
Сурадж
1
для python 3 тоже sudo pip install BeautifulSoup4работает
ishandutta2007
13

Просто отметив ответ Бальтазара. Бег

pip install BeautifulSoup4

не работал для меня. Вместо этого используйте

pip install beautifulsoup4
Airswoop1
источник
7
pip3 install BeautifulSoup4

Попробуй это. Меня устраивает. Причина хорошо объяснена здесь ..

Вимукти Раджапакша
источник
5

Если вы используете Anaconda для управления пакетами, выполните следующие действия:

conda install -c anaconda beautifulsoup4

Арнаб Бисвас
источник
1
Опция "-c anaconda" используется по умолчанию, поэтому "conda install beautifulsoup4" делает то же самое и ее легче запомнить :-)
PatrickT
5

Если вы используете Pycharm , перейдите на preferences - project interpreter - install bs4.

Если вы попытаетесь установить BeautifulSoup , он все равно покажет, что ни один модуль не назван bs4.

Алиса
источник
4

Я посоветую вам удалить библиотеку bs4 с помощью этой команды:

pip uninstall bs4

и затем установите его с помощью этой команды:

sudo apt-get установить python3-bs4

Я столкнулся с той же проблемой в Linux Ubuntu, когда использовал следующую команду для установки библиотеки bs4:

pip install bs4

Шашанк Рават
источник
3

Попробуй это:

sudo python3 -m pip install bs4
Райид Али
источник
1
pip3.7 install bs4

Попробуй это. Работает с питоном 3.7

Франк Эрве
источник
1

Я сделал то, что сказал @ rayid-ali, за исключением того, что я на машине с Windows 10, поэтому я оставил sudo. То есть я сделал следующее:

python3 -m pip install bs4

и это сработало как пашарм. Работал как шарм в любом случае.

23r0c001
источник
0

Самым простым является использование easy_install.

easy_install bs4 

Это будет работать, если пипс потерпит неудачу.

Пума-лима
источник
0

Для Python 2 было написано много учебников / ссылок, в которых говорится, что вы можете использовать pip install somename. Если вы используете Python 3, вы хотите изменить его на pip3 установить somename.

Clarius
источник
0

Вы можете попробовать установить bs4 с

pip install --ignore-installed BeautifulSoup4

если вышеуказанные методы не сработали для вас.

Эдиз Эмектас
источник
0

Попробуйте переустановить модуль ИЛИ Попробуйте установить красивый суп с помощью команды ниже

pip install --ignore-installed BeautifulSoup4
Харсит Приян Сиванандхам
источник
0

Приложение к исходному запросу: modules.py

help('modules')

$python modules.py

В нем указано, что модуль bs4 уже установлен.

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

Правильное решение:

pip install --upgrade bs4

Должен решить проблему.

Мало того, он покажет ту же ошибку и для других модулей. Таким образом, вы должны выполнить команду pip таким же образом, как описано выше для этих модулей с ошибками.

Биддут Митра
источник