Ошибка Пипа: у объекта '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
Файл колес содержит все зависимости.