web-dev-qa-db-fra.com

pip3 réinstaller sur Ubuntu 18.04

Récemment, j’ai été confronté au problème suivant: sous Ubuntu 18.04 pip ne fonctionne pas correctement:

:~$ pip3 install jinja2
Traceback (most recent call last):
  File "/home/redra/.local/bin/pip3", line 7, in <module>
    from pip import main
ModuleNotFoundError: No module named 'pip'

Ensuite, j'ai essayé de réinstaller pip3, cela semble dû à cela et à un autre problème:

:~$ Sudo -H python3 get-pip.py
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Collecting pip
  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/pip/
  Retrying (Retry(total=3, 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/pip/
  Retrying (Retry(total=2, 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/pip/
  Retrying (Retry(total=1, 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/pip/
  Retrying (Retry(total=0, 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/pip/

J'imagine qu'il est bloqué ... Je ne peux pas installer OpenSL à cause d'un mauvais pip3 ni à installer un nouveau pip3 à cause d'OpenSSL ... On dirait que c'est cycle (

Toute suggestion ? Quelqu'un a-t-il affronté le même problème?

2
Denis Kotov

Ceci est probablement dû au fait que les fichiers binaires openssl requis n'étaient pas présents lors de la compilation de python, pour résoudre ce problème.

  • download openssl (tar.gz fera l'affaire) à partir de: https://www.openssl.org/source/

  • désarchiver la source SSL dans le dossier

  • Allez dans le dossier et exécutez ce qui suit pour créer openssl

    ./configure && make && Sudo make install

Enfin - refaites la compilation Python (configurez, créez, installez install), observez que la bibliothèque ssl est maintenant compilée dans Python telle qu’elle apparaît à la place standard où Python compile procédure est à la recherche.

4
Amith KK