J'ai accidentellement installé des paquets Python sur mon système en utilisant à la pip
place de apt-get
. Je l'ai fait de deux manières:
- en utilisant une ancienne version de virtualenv, j’avais oublié d’ajouter
--no-site-packages
lors de la création de virtualenv - ensuite, lorsque j’ai appelépip install
, les packages Python ont été installés sur le système plutôt que virtualenv. - dans virtualenv correctement configuré, j’ai tapé
sudo pip install somepackage
- le sudo installé sur le système plutôt que le virtualenv
J'ai remarqué cela parce que je tapais à l' pip freeze
extérieur de virtualenv et que je découvrais certains paquets Python répertoriés qui ne devraient pas être là. Alors maintenant ma question est:
- Comment puis-je identifier tous les packages Python qui ont été installés par erreur sur le système (c'est-à-dire les packages Python qui apparaissent dans la
pip freeze
liste, mais n'ont pas été installés avecapt-get
)? - Comment puis-je les supprimer?
python
package-management
pip
david.libremone
la source
la source
sudo rm -r /usr/local/lib/python2.7
. Jusqu'ici tout va bien./usr/local/lib/python3.5
, et après un certain temps, une mise à jour duupdate-notifier-common
paquet a échoué à cause dusix
paquet Python 3 manquant . J'ai fini par installersix
avecsudo -H pip3 install six
./usr/local/bin/
(il y a quelque temps, je viens de retirer/usr/local/lib/python3.5
et de passer à conda ).Pip ignore actuellement les commandes de désinstallation qui tentent de désinstaller quelque chose appartenant au système d'exploitation. Il ne fait pas d'erreur, comme c'est le cas avec un paquet manquant. Donc, maintenant, vous pouvez désinstaller avec le processus suivant:
Editez le fichier vidé pour supprimer toutes les
-e
lignes "d'installation éditable", tout après le==
signe (%s;==.*;;g
dans vim), remplacez les nouvelles lignes par des espaces (%s;\n; ;g
dans vim). Ensuite, vous pouvez désinstaller tous les packages non propriétaires avecJ'ai dû faire cette procédure deux fois, car quelques paquets ont également été installés
~/.local/lib
.la source
sudo pip uninstall -y $(pip freeze | sed 's;==.*;;g' | tr '\n' ' ')
pip
. Sur archlinux,pip
désinstallez avec plaisir les packages système. Par contre,pip
Jessica se plaint et commet des erreurs:Not uninstalling virtualenv at /usr/lib/python3/dist-packages, owned by OS
Autant que
sudo pip install
je sache installer sur/usr/local/lib/pythonVERSION/dist-packages
. Vous devez exécutersudo pip uninstall
pour désinstaller les packages système. Il semble que celapip freeze
recherche les métadonnées du paquet et listera tout ce qui est installé, à la fois de pip et d’apt-get en dehors de virtualenvs. Il existe une-l
option dans l’environnement virtuel pour répertorier les packages uniquement applicables à cet environnement virtuel, mais cela semble également être le cas par défaut dans l’environnement virtuel. Je pense que vous pouvez simplement supprimer les paquets liés/usr/local/lib/pythonVERSION/dist-packages
aussi mais méthode pas très pratique, je suppose.la source
Pour supprimer un paquet installé via pip, appuyez simplement sur les touches Ctrl+ et Alt+ Tde votre clavier pour ouvrir Terminal. Quand il s'ouvre, lancez la commande ci-dessous.
Pour rechercher des forfaits
Pour déterminer quels packages Python ont été installés par pip, à l'aide de la
freeze
commande, qui vous donnera une liste des packages installés et de leurs versions. Je suggère de supprimer toutes les instances et de réinstaller à l'aide de lasudo apt-get
commandela source
pip uninstall
si j'ai utilisésudo pip install
en premier lieu?pip freeze
affiche uniquement les packages qu'il a installés (AFAICS).Je devais nettoyer l'espace disque des paquets Python en toute sécurité. Bien qu'il s'agisse d'un nettoyage complet des packages, j'avais également besoin de déplacer les versions de Python afin de ne pas utiliser d'anciens packages. J'ai utilisé ce qui suit pour obtenir tous mes noms de paquets, ignorer les 2 premières lignes et récupérer la première colonne, puis désinstaller sans interaction de l'utilisateur:
la source
Cela a quelque chose à voir avec Homebrew. Pyodbc sur mon Mac Air ne me posait aucun problème avant d’installer Homebrew et de l’utiliser pour quelques tâches. J'ai trouvé ce fil sur github qui aboutit à une solution qui a fonctionné pour moi.
"Si vous avez Homebrew, installez simplement les en-têtes ODBC:
et exécutez "pip install pyodbc" à nouveau. "
Ce 100% a résolu le problème pour moi et n'a pris qu'un moment. Donner un coup de feu.
la source