pip fonctionnait très bien jusqu'à récemment. J'essayais d'abord d'installer un package pip en utilisant
sudo pip install --upgrade cryptography
et j'obtiens l'erreur
Impossible d'installer les packages en raison d'une erreur d'environnement: [Errno 2] Aucun fichier ou répertoire de ce type: '/home/me/.local/lib/python2.7/site-packages/pip-19.0.1.dist-info / METADATA '
Je suis ensuite entré dans les packages de site et le dossier est vide. En effet, j'ai pip installé dans des dis-packages et sa version est 18.1, pas 19.0!
J'ai essayé de mettre à jour pip via
sudo apt-get install python-pip
mais j'obtiens la même erreur.
Taper
pip --version
J'obtiens
/usr/local/lib/python2.7/dist-packages/pip/_vendor/requests/ init .py: 83: RequestsDependencyWarning: Ancienne version de cryptographie ([1, 2, 3 ]) peut provoquer un ralentissement. warnings.warn (avertissement, RequestsDependencyWarning)
pip 18.1 de /usr/local/lib/python2.7/dist-packages/pip (python 2.7)
donc il semble que pip 18.1 est installé. En effet, si j'essaye
pip install -U pip
j'obtiens
python-pip est déjà la dernière version (8.1.1-2ubuntu0.4).
0 mis à jour, 0 nouvellement installé, 0 à supprimer et 62 non mis à jour.
Je me demandais si tous ces problèmes venaient de l'avertissement sur la cryptographie, et j'ai donc essayé de faire
pip install -e [some-git-link]
mais évidemment je reviens à la même erreur d'environnement.
4 Réponses :
Vous pouvez tester pour mettre à jour PythonOpenSSL:
$ sudo python -m easy_install --upgrade pyOpenSSL
Si ce n'est pas le cas, veuillez faire:
$ sudo pip install - mise à niveau de la cryptographie
Mais erreur avec: $ sudo pip
Faites donc après:
$ sudo python -m easy_install --upgrade pyOpenSSL
Amusez-vous bien,
Johan MRe
Vous n'utiliserez pas sudo
avec pip
. Utiliser sudo
avec pip
pose des problèmes. Lorsque vous faites cela, vous avez pip
et le gestionnaire de paquets de votre système d'exploitation se bat. Quand ils se battent, personne ne gagne, encore moins votre installation Python et votre santé mentale personnelle. Je sais que d'innombrables tutoriels vous indiquent sudo pip install
, mais ce ne sont pas vos amis. Le seul moyen sûr et fiable de maintenir une installation Python fonctionnelle est de laisser le gestionnaire de packages de votre système d'exploitation gérer ce qu'il souhaite gérer et d'utiliser pip install --user
ou des environnements virtuels (en utilisant soit virtualenv
ou éventuellement python -m venv
si vous êtes sur Python 3).
Je ne saurais trop insister sur le fait que vous serez constamment à rencontrer de petites choses étranges (et des problèmes catastrophiques occasionnels) au sein de votre installation Python si vous installez constamment des choses sudo. Apprenez à aimer les environnements virtuels! Vous pouvez même modifier le PATH
de votre shell afin que les éléments que vous installez dans un environnement soient disponibles sous forme de commandes (ce qui explique généralement pourquoi les gens pensent avoir besoin de sudo pip install
). P >
Comment gérer "Impossible d'installer les packages en raison d'une erreur d'environnement" lors de la mise à niveau de pip
Commencez par exécuter la ligne de commande en mode Administration à la fois dans la fenêtre et le système d'exploitation:
Ensuite,
Pour Windows: utilisez cette commande pour mettre à jour pip
+ $ *sudo python -m pip install --user --upgrade pip*
Pour MacOS:
+ *python -m pip install --user --upgrade pip*
J'avais cette erreur en essayant d'installer des packages lors de la construction d'une image Docker (avec python: 3.8 comme base). La mise à niveau de pyOpenSSL comme @Johan MRe l'a suggéré a résolu le problème pour moi.
RUN python3 -m easy_install --upgrade pyOpenSSL
Je l'ai résolu uniquement en supprimant les dossiers pip en local, puis en le réinstallant. Je sais que ce n'est pas la bonne façon de désinstaller pip, mais je ne le faisais pas via
pip uninstall pip