81 votes

Comment détecter et supprimer les packages Python installés via pip?

J'ai accidentellement installé des packages Python sur mon système en utilisant pip au lieu de apt-get. J'ai fait cela de deux manières :

  • en utilisant une ancienne version de virtualenv, j'ai oublié d'ajouter --no-site-packages lors de la création de l'environnement virtuel - après cela, quand j'ai appelé pip install, les packages Python ont été installés sur le système plutôt que dans l'environnement virtuel
  • dans un environnement virtuel correctement configuré, j'ai tapé sudo pip install somepackage - le sudo a installé sur le système plutôt que dans l'environnement virtuel

J'ai remarqué cela car j'ai tapé pip freeze en dehors d'un environnement virtuel, et j'ai vu des packages Python listés qui ne devraient pas y être. Alors maintenant, ma question est :

  • comment puis-je identifier tous les packages Python qui ont été installés de manière erronée sur le système (c'est-à-dire les packages Python qui apparaissent dans la liste pip freeze, mais n'ont pas été installés avec apt-get)?
  • comment puis-je les supprimer?

0voto

vinzee Points 169

J'ai utilisé ce qui suit pour désinstaller tous les paquets pip de mon environnement virtuel :

pip list | tail -n+3 | grep -ve '^#\|^wheel\|^pip\|^setuptools ' | cut -d' ' -f1 | xargs pip uninstall -y

Je garde toujours wheel, pip et setuptools.

Aussi, pip list est préférable à pip freeze dans mon cas car pip list liste les paquets installés avec -e avec juste leur nom.

-2voto

Pogo Points 1

Cela a quelque chose à voir avec Homebrew. Je n'avais aucun problème avec pyodbc sur mon Mac Air jusqu'à ce que j'installe Homebrew et l'utilise pour quelques choses. J'ai trouvé ce fil sur github qui se termine par une solution qui a fonctionné pour moi.

"Si vous avez Homebrew, installez simplement les en-têtes ODBC :

$ brew install unixodbc

et exécutez à nouveau "pip install pyodbc".

Cela a résolu le problème à 100% pour moi et cela n'a pris qu'un instant. Essayez ça.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X