На этот вопрос уже есть ответ:
Я удалил некоторые пакеты python в ubuntu, используя sudo pip uninstall packagename
, и после этого мой пип был поврежден. Когда я выполняю pip -V
, он показывает это
from pip._internal.download import PipSession
File "/usr/local/lib/python2.7/dist-packages/pip/_internal/download.py", line 15, in <module>
from pip._vendor import requests, six, urllib3
File "/usr/local/lib/python2.7/dist-packages/pip/_vendor/requests/__init__.py", line 97, 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/lib/python2.7/dist-packages/OpenSSL/__init__.py", line 8, in <module>
from OpenSSL import rand, crypto, SSL
File "/usr/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'
Первое, что я сделал, чтобы решить эту проблему, - переустановил сам pip, поэтому я сделал
sudo apt remove python-pip --purge
sudo apt install python-pip
Но pip -V
дает та же ошибка. Итак, я снова полностью удалил pip без переустановки sudo apt remove python-pip --purge; sudo apt autoremove
.
Теперь я полностью удалил pip из моей системы, но даже после этого, когда я сделал pip -V
, я получаю ту же ошибку?
При взгляде на описанную ошибку это похоже на проблему с PyOpenSSL
пакет Python. Выполните эти шаги для того, чтобы решить этот вопрос (удостоверьтесь, что команды выполняются от a sudo
подсказка):
cd /usr/lib/python2.7/dist-packages/
rm -rf OpenSSL
rm -rf /home/<Your Username>/.local/lib/python2.7/site-packages/OpenSSL
pip install pyOpenSSL
Если это не удается, выполните следующее (удостоверьтесь что python3
и pip3
установлены в Вашей машине):
sudo pip3 install --upgrade pyOpenSSL