Невозможно использовать pip (ubuntu) [pip настроен с местоположениями, требующими TLS / SSL, однако модуль ssl в Python недоступен. ]

$ sudo pip install numpy    # or anything else

ошибка:

The directory '/home/user/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. (tried sudo -H, the rest errors persist)  
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.    
Collecting numpy  
  Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/numpy/  
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.  
Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/pip/ (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.")) - skipping  
$ python -V
Python 3.7.3  
$ pip -V
pip 19.0.3 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)
$ whereis pip
pip: /usr/local/bin/pip2.7 /usr/local/bin/pip3.7 /usr/local/bin/pip /usr/local/bin/pip3.6  

pip3.6 появился после:

$ sudo su
$ update-alternatives --install /usr/bin/python python /usr/bin/python3 1

В средах anaconda pip работает нормально.

Является ли удаление вещей, связанных с python, безопасным способом - без нарушения работы системы и правильной переустановкой вещей - предпочтительным решением? И как это сделать?

Я знаю, что подобных вопросов очень много, но я много чего перепробовал (очевидно, что-то напортачил) и не решил проблему.

Спасибо!

1
задан 8 August 2019 в 18:11

1 ответ

1-Стараются не использовать sudo когда Вы не должны.
2-, Так как Вы используете Python3, соответствующий путь установка, пакет в Python3 использует pip3.
Таким образом, команда будет следующие: pip3 install --user <package_name> Где:

  • pip3 для Python3.

  • install устанавливать пакет с помощью pip3.

  • --user сохранить, который загрузил пакет в текущем пользовательском каталоге (таким образом, Вам не будет нужно больше полномочий).

  • package_name любой пакет Python.

Править:
1. Установите необходимые пакеты для Python и ssl: sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev

  1. Загрузите и разархивируйте "Python-3.7.0.tar.xz" от https://www.python.org/ftp/python/в Ваш корневой каталог.

  2. Откройте терминал в том каталоге и работайте: ./configure

  3. Сборка и установка: sudo make && sudo make install

  4. Пакеты установки с: pip3 install package_name

2
ответ дан 10 November 2019 в 10:04

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

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