После обновления к Ubuntu 18.04 LTS я больше не могу использовать большинство приложений Python включая зернышко (чтобы установить или удалить). Я получаю следующую ошибку в командной строке:
Traceback (most recent call last):
File "/usr/local/bin/pip", line 11, in <module> load_entry_point('pip==10.0.1', 'console_scripts', 'pip')()
File "build/bdist.linux-x86_64/egg/pkg_resources/__init__.py", line 572, in load_entry_point
File "build/bdist.linux-x86_64/egg/pkg_resources/__init__.py", line 2755, in load_entry_point
File "build/bdist.linux-x86_64/egg/pkg_resources/__init__.py", line 2408, in load
File "build/bdist.linux-x86_64/egg/pkg_resources/__init__.py", line 2414, in resolve
File "/usr/local/lib/python2.7/dist-packages/pip/_internal/__init__.py", line 42, in <module>
from pip._internal import cmdoptions
File "/usr/local/lib/python2.7/dist-packages/pip/_internal/cmdoptions.py", line 16, in <module>
from pip._internal.index import (
File "/usr/local/lib/python2.7/dist-packages/pip/_internal/index.py", line 15, in <module>
from pip._vendor import html5lib, requests, six
File "/usr/local/lib/python2.7/dist-packages/pip/_vendor/requests/__init__.py", line 86, in <module>
from pip._vendor.urllib3.contrib import pyopenssl
File "/usr/local/lib/python2.7/dist-packages/pip/_vendor/urllib3/contrib/pyopenssl.py", line 46, in <module>
import OpenSSL.SSL
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 105, in <module>
SSL_ST_INIT = _lib.SSL_ST_INIT
AttributeError: 'module' object has no attribute 'SSL_ST_INIT'
После поиска с помощью Google ошибок кажется, что версия pyopenssl устарела, но я попытался вручную загрузить installpyopenssl18 через файл TGZ или через easy_install, и ни один не работал.
Я не могу установить/удалить через зернышко, потому что я получаю вышеупомянутую ошибку. Какие-либо предложения? Я хотел бы избежать необходимости переустанавливать Python или даже саму ОС.
Если я ввожу Python в командной строке, он использует Python 2.7.15rc1 (значение по умолчанию, 15 апреля 2018, 21:51:34)
После попытки ручной установки pyopenssl 18 снова я заметил путь, на котором это устанавливало:/usr/local/lib/python2.7/dist-packages
Таким образом, я пошел, закопав тот каталог и видел названную папку:
OpenSSL
на который сослались по ошибке. Я переименовал эту папку и переустановил pyopenssl, и ошибка очищена. У меня нет проблем, получающих доступ к сайтам HTTPS, таким образом, возможно, что это - модуль устаревший, замененный pyOpenSSL?