pip install bs4 дает ошибку _socketobject

Я пытаюсь установить BeautifulSoup4, используя команду pip install BeautifulSoup4 , согласно документации bs здесь:

https://www.crummy.com/software/BeautifulSoup/#Download

Я использую Mac OS X 10.7.5 и python 2.7.12

Когда я запускаю команду в терминале, я получаю ошибку:

 AttributeError: '_socketobject' object has no attribute 'set_tlsext_host_name' 

Может ли кто-нибудь предположить, что я делаю неправильно? Заранее спасибо.

EDIT: В свете комментариев я попытался запустить sudo pip install pyopenssl но я получаю ту же ошибку «socketobject».

5 Solutions collect form web for “pip install bs4 дает ошибку _socketobject”

См. https://stackoverflow.com/a/31576259/3579910 :

Пытаться:

 sudo apt-get purge python-openssl sudo apt-get install libffi-dev sudo pip install pyopenssl 

По-видимому, вы не можете голосовать, если есть открытая щедрость.

Задний план:

Это произошло потому, что Ubuntu 12.04 (это ОС моего сервера) имеет старую библиотеку pyOpenSSL, которая не принимает атрибут «set_tlsext_host_name». Для исправления вам нужно добавить зависимость pyOpenSSL> = 0.13. В Ubuntu для обновления pyOpenSSL используйте pip, вам также нужно установить libffi-dev и удалить python-openssl по apt.

Источник


На Mac вы можете получить homebrew для замены вызовов apt-get: следуйте инструкциям по установке homebrew .

Насколько я понимаю, pyopenssl пакета pyopenssl , установленная в общесистемной, не обновляется . Обновите его:

 sudo pip install --upgrade pyopenssl 

Или удалите его и установите последнюю в своей виртуальной среде:

 $ sudo pip uninstall pyopenssl $ # activate virtual environment (myvirtualenv) $ pip install --upgrade pyopenssl 

«Это происходит потому, что ваша ОС имеет старую библиотеку pyOpenSSL, которая не является атрибутом accept« set_tlsext_host_name ». Чтобы исправить это, вам нужно добавить зависимость pyOpenSSL> = 0.13.

 $ brew purge python-openssl $ brew install libffi-dev $ brew install pyOpenSSL 

Дайте мне знать, если это неясно или это не сработает для вас.

Кроме того, вы можете установить Anaconda Python с: https://www.continuum.io/downloads

Эта установка включает BS из коробки в качестве большинства общих библиотек, которые вы будете использовать. Кроме того, это упрощает установку библиотеки.

Я использую OS X 10.12 и python 2.7.10

 sudo easy_install BeautifulSoup4 sudo easy_install pyopenssl 

Все работали нормально.

  • easy_install получает неправильную версию pip
  • Статический метод Python не всегда можно вызывать
  • Запись данных в формате unicode в csv
  • Отдел в Python 2.7. и 3.3
  • изменить строку во время пиража
  • Как ConfigParse файл, сохраняющий несколько значений для идентичных ключей?
  • Разрешение отклонено другим приложением после makedirs ()
  • Возвращает ли значение Popen () .stdout.close ()?
  • pathname слишком долго, чтобы открыть?
  • Обходной путь для возврата списка из функции ComputedProperty в NDB
  • Самый пифонический способ удаления текста между двумя разделителями
  • Python - лучший язык программирования в мире.