pip: AttributeError: объект 'module' не имеет атрибута 'SSL_ST_INIT'

С pip в Ubuntu 14.04, я получаю эту ошибку:

Traceback (most recent call last): File "/usr/bin/pip", line 9, in <module> from pip import main File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 21, in <module> from pip._vendor.requests.packages.urllib3.exceptions import DependencyWarning File "/usr/lib/python2.7/dist-packages/pip/_vendor/__init__.py", line 64, in <module> vendored("cachecontrol") File "/usr/lib/python2.7/dist-packages/pip/_vendor/__init__.py", line 36, in vendored __import__(modulename, globals(), locals(), level=0) File "/usr/share/python-wheels/CacheControl-0.11.7-py2.py3-none-any.whl/cachecontrol/__init__.py", line 9, in <module> File "/usr/share/python-wheels/CacheControl-0.11.7-py2.py3-none-any.whl/cachecontrol/wrapper.py", line 1, in <module> File "/usr/share/python-wheels/CacheControl-0.11.7-py2.py3-none-any.whl/cachecontrol/adapter.py", line 4, in <module> File "/usr/share/python-wheels/requests-2.12.4-py2.py3-none-any.whl/requests/__init__.py", line 52, in <module> File "/usr/share/python-wheels/requests-2.12.4-py2.py3-none-any.whl/requests/packages/__init__.py", line 59, in <module> File "/usr/share/python-wheels/requests-2.12.4-py2.py3-none-any.whl/requests/packages/__init__.py", line 32, in vendored File "/usr/share/python-wheels/urllib3-1.19.1-py2.py3-none-any.whl/urllib3/contrib/pyopenssl.py", line 47, in <module> File "/usr/local/lib/python2.7/dist-packages/OpenSSL/__init__.py", line 8, in <module> from OpenSSL import rand, crypto, SSL File "/usr/local/lib/python2.7/dist-packages/OpenSSL/SSL.py", line 118, in <module> SSL_ST_INIT = _lib.SSL_ST_INIT AttributeError: 'module' object has no attribute 'SSL_ST_INIT'

Как я могу это решить?

1
задан 14 September 2017 в 00:12

8 ответов

Да, пип ошибки, пока вы не исправите его вручную (упомянутый курица и яйцо) .... найдите, где установлена ​​библиотека, и вручную удалите ее.

На моей установке 16.04 я сделал это:

cd /usr/lib/python2.7/dist-packages rm -rf OpenSSL

Тогда pip работал правильно без ошибки SSL cd /usr/lib/python2.7/dist -пакеты rm -rf OpenSSL

-1
ответ дан 18 July 2018 в 06:55

Вам не хватает пакета pyOpenSSL или устарел.

просто запускает

$ pip install pyopenssl

и пакеты обновлений (может и не понадобиться).

-1
ответ дан 18 July 2018 в 06:55

Использовать pip3

Для решения этой проблемы мне пришлось переключиться на использование pip3:

$ sudo pip3 install --upprade pyopenssl

0
ответ дан 18 July 2018 в 06:55

Я нашел, что этот ответ на stackoverflow помог. В основном, он говорит, что вы должны это сделать:

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
0
ответ дан 18 July 2018 в 06:55

Да, пип ошибки, пока вы не исправите его вручную (упомянутый курица и яйцо) .... найдите, где установлена ​​библиотека, и вручную удалите ее.

На моей установке 16.04 я сделал это:

cd /usr/lib/python2.7/dist-packages rm -rf OpenSSL

Тогда pip работал правильно без ошибки SSL cd /usr/lib/python2.7/dist -пакеты rm -rf OpenSSL

-1
ответ дан 24 July 2018 в 18:42
  • 1
    Удаление пакетов вручную из /usr/lib/python*/dist-packages может быть опасным, поскольку оно может разорвать обновления пакета из OpenSSL, которые предоставляют библиотеки Python. Вы должны воздерживаться от ручного удаления файлов из каталогов, управляемых программным менеджером, когда сможете. – Thomas Ward♦ 10 July 2018 в 17:24

Вам не хватает пакета pyOpenSSL или устарел.

просто запускает

$ pip install pyopenssl

и пакеты обновлений (может и не понадобиться).

-1
ответ дан 24 July 2018 в 18:42
  • 1
    ..... но вы не можете этого сделать, потому что pip бросает ошибку! Классическая проблема с курицей и яйцом здесь ..... – starbeamrainbowlabs 26 April 2018 в 21:26

Использовать pip3

Для решения этой проблемы мне пришлось переключиться на использование pip3:

$ sudo pip3 install --upprade pyopenssl

0
ответ дан 24 July 2018 в 18:42

Я нашел, что этот ответ на stackoverflow помог. В основном, он говорит, что вы должны это сделать:

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
0
ответ дан 24 July 2018 в 18:42

Другие вопросы по тегам:

Похожие вопросы: