ImportError: модуль не названий bs4 (BeautifulSoup)


138

Я працюю в Python і використовую Flask. Коли я запускаю свій основний файл Python на своєму комп’ютері, він працює відмінно, але коли я активую venv і запускаю файл Flask Python в терміналі, він говорить про те, що в моєму головному файлі Python "немає модуля з іменем bs4." Будь-які коментарі чи поради дуже вдячні.


3
... Ви встановили bs4 у virtualenv?
Колін Данклау

1
ні, я запускаю ubuntu і використовував "easy_install beautifulsoup4"
harryt

Відповіді:


215

Активуйте virtualenv, а потім встановіть BeautifulSoup4:

$ pip install BeautifulSoup4

При установці bs4з easy_install, ви встановили для всієї системи. Тож ваш системний пітон може імпортувати його, але не ваш virtualenv python. Якщо вам не потрібно bs4встановлювати в системний шлях python, видаліть його та збережіть його у вашому virtualenv.

Для отримання додаткової інформації про virtualenvs читайте це


4
Уявіть (для прикладу), що ви працюєте над проектом, який вимагає конкретної версії модуля. Ви також можете працювати над іншим проектом, вимагаючи: іншої версії цього модуля. Якщо кожен проект розташований у virtualenvs, у вас буде два абсолютно незалежних середовища python, замість того, щоб мати середовище системного пітона з двома версіями одного модуля. Підтримуйте чистоту вашої системи. Робота у virtualenvs.
Бальтазар Руберол

1
Я не можу встановити, отримати помилку. У locale.Error: unsupported locale settingвас є ідеї?
coderInrRain

Я не можу по-справжньому здогадатися без сліду, але подивіться на stackoverflow.com/questions/14547631/…
Бальтазар Rouberol

Також пам’ятайте, що якщо ви використовуєте 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

3
На офіційному сайті crummy.comне вдалося вказати python3-bs4назву пакета.
Сурай

1
для python 3 теж sudo pip install BeautifulSoup4працює
ishandutta2007

13

Просто позначення відповіді Бальтазара. Біг

pip install BeautifulSoup4

не працював для мене. Замість використання

pip 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 видалити bs4

а потім встановіть його за допомогою цієї команди:

sudo apt-get install python3-bs4

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

pip встановити bs4





1

Я зробив те, що сказав @ rayid-ali, за винятком того, що я перебуваю на машині під керуванням Windows 10, тому я покинув судо. Тобто я зробив наступне:

python3 -m pip install bs4

і це працювало як піхарма. Працював як шарм у будь-якому випадку.


0

Найпростішим є використання easy_install.

easy_install bs4 

Він буде працювати, якщо піп не виходить.


0

Для Python 2 було написано багато навчальних посібників / посилань, які розповідають про те, щоб використовувати pip install somename. Якщо ви використовуєте Python 3, ви хочете змінити це на pip3, встановити якесь ім'я.


0

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

pip install --ignore-installed BeautifulSoup4

якщо вищезгадані методи не працювали для вас.



0

Додаток до оригінального запиту: module.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 так само, як вище, для цих помилкових модулів (модулів).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.