Ошибка Пипа: у объекта 'module' нет атрибута 'Cryptography_HAS_SSL_ST'

Я пытался установить из pip и продолжаю получать ошибки подобного типа.

$ pip install quandl
Traceback (most recent call last):
  File "/usr/bin/pip", line 9, in <module>
    load_entry_point('pip==1.5.6', 'console_scripts', 'pip')()
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 558, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2682, in load_entry_point
    return ep.load()
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2355, in load
    return self.resolve()
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2361, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 74, in <module>
    from pip.vcs import git, mercurial, subversion, bazaar  # noqa
  File "/usr/lib/python2.7/dist-packages/pip/vcs/mercurial.py", line 9, in <module>
    from pip.download import path_to_url
  File "/usr/lib/python2.7/dist-packages/pip/download.py", line 22, in <module>
    import requests, six
  File "/usr/lib/python2.7/dist-packages/requests/__init__.py", line 53, in <module>
    from .packages.urllib3.contrib import pyopenssl
  File "/usr/lib/python2.7/dist-packages/urllib3/contrib/pyopenssl.py", line 53, in <module>
    import OpenSSL.SSL
  File "/home/ubuntu/.local/lib/python2.7/site-packages/OpenSSL/__init__.py", line 8, in <module>
    from OpenSSL import rand, crypto, SSL
  File "/home/ubuntu/.local/lib/python2.7/site-packages/OpenSSL/SSL.py", line 112, in <module>
    if _lib.Cryptography_HAS_SSL_ST:
AttributeError: 'module' object has no attribute 'Cryptography_HAS_SSL_ST'

Теперь, хотя я пытался установить разные модули pip, я получаю ту же ошибку. Есть ли какое-то решение для этого? Это было вызвано неожиданным завершением процесса во время загрузки модуля pip.

Пожалуйста, помогите мне с необходимыми шагами, чтобы исправить эту ошибку.

Я пытался установить это

$ pip install -U cryptography
Traceback (most recent call last):
  File "/usr/bin/pip", line 9, in <module>
    load_entry_point('pip==1.5.6', 'console_scripts', 'pip')()
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 558, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2682, in load_entry_point
    return ep.load()
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2355, in load
    return self.resolve()
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2361, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 74, in <module>
    from pip.vcs import git, mercurial, subversion, bazaar  # noqa
  File "/usr/lib/python2.7/dist-packages/pip/vcs/mercurial.py", line 9, in <module>
    from pip.download import path_to_url
  File "/usr/lib/python2.7/dist-packages/pip/download.py", line 22, in <module>
    import requests, six
  File "/usr/lib/python2.7/dist-packages/requests/__init__.py", line 53, in <module>
    from .packages.urllib3.contrib import pyopenssl
  File "/usr/lib/python2.7/dist-packages/urllib3/contrib/pyopenssl.py", line 53, in <module>
    import OpenSSL.SSL
  File "/home/ubuntu/.local/lib/python2.7/site-packages/OpenSSL/__init__.py", line 8, in <module>
    from OpenSSL import rand, crypto, SSL
  File "/home/ubuntu/.local/lib/python2.7/site-packages/OpenSSL/SSL.py", line 112, in <module>
    if _lib.Cryptography_HAS_SSL_ST:
AttributeError: 'module' object has no attribute 'Cryptography_HAS_SSL_ST'

Ответ 1

Ubuntu 16.04.3 здесь:

Я думаю, что я исправил это, удалив пакет python-openssl (и его зависимости) с помощью:

apt-get --auto-remove remove python-openssl

Затем установите последнюю версию с помощью pip:

pip install pyOpenSSL

Конечно, если вы установите другой пакет apt, который зависит от него, он вернет его обратно. Я надеюсь, что теперь вы используете pip для всего, что вы можете, вместо apt, все будет хорошо.

Редактировать: по состоянию на январь 2019 года эта проблема, кажется, больше не существует.

Ответ 2

Мне удалось решить эту проблему, удалив libslb lib и переустановку (чистка перед установкой не работает):

$ sudo rm -rf /usr/local/lib/python2.7/dist-packages/OpenSSL/
$ sudo apt install --reinstall python-openssl

Ответ 3

Чтобы установить его на RHEL/CentOS:

sudo rm -rf /usr/lib/python2.7/site-packages/OpenSSL/
sudo yum install pyOpenSSL

Это сделало это для меня на CentOS 7. Приветствия!

Ответ 4

Я получил эту ошибку и решил ее, выполнив следующие шаги (не забудьте указать свое собственное имя пользователя):

rm -rf /home/<Your Username>/.local/lib/python2.7/site-packages/OpenSSL
sudo rm -rf usr/local/lib/python2.7/dist-packages/OpenSSL/
pip install pyOpenSSL

Ответ 5

Если даже pip не работает, попробуйте следующее:

sudo easy_install -U cffi
sudo easy_install -U cryptography

Меня устраивает.

Ответ 6

Попробуйте переустановить python, из которого исправит многие ваши проблемы,

sudo apt-get install --reinstall python2.7

и при переустановке будет отсутствовать pip, do

sudo apt-get install python-pip

Ответ 7

Быстрое исправление

Переместите папку OpenSSL в OpenSSLBAK (например), чтобы избежать ошибки

# cd /usr/lib/python2.7/dist-packages
# mv OpenSSL OpenSSLBAK

Это должно быть хорошо

Ответ 8

Попробуйте сделать следующее:

$ rm -rf /home/ubuntu/.local/lib/python2.7/site-packages/OpenSSL
$ rm -rf /home/ubuntu/.local/lib/python2.7/site-packages/pyOpenSSL-0.15.1.egg-info

В последней строке у вас может быть другая версия pyOpenSSL, укажите вашу.

Ответ 9

Попробуйте загрузить подходящий файл колес из здесь в зависимости от вашей операционной системы и версии python. Затем добавьте этот файл в Python/Scripts и используйте следующий код для его установки.

pip install nameofwheelfile.whl

Файл колес содержит все зависимости.