Pouvez-vous simplement supprimer le répertoire de votre installation python, ou y a-t-il des fichiers persistants que vous devez supprimer?
92
Cela varie en fonction des options que vous passez install
et du contenu des fichiers de configuration distutils sur le système / dans le package. Je ne pense pas que les fichiers soient modifiés en dehors des répertoires spécifiés de cette manière.
Notamment, distutils n'a pas de commande de désinstallation pour le moment.
Il convient également de noter que la suppression d'un paquet / œuf peut entraîner des problèmes de dépendance - des utilitaires comme easy_install
tenter de résoudre de tels problèmes.
Les trois éléments installés que vous devrez supprimer sont:
Maintenant, sur mon système Linux, ceux-ci vivent dans:
Mais sur un système Windows, ils sont plus susceptibles d'être entièrement dans le répertoire de distribution Python. Je n'ai aucune idée d'OSX sauf qu'il est plus proche de suivre le modèle Linux.
la source
Un autre hack basé sur l'horodatage:
touch /tmp/ts
python setup.py install --prefix=<PREFIX>
find <PREFIX> -cnewer /tmp/ts | xargs rm -r
la source
| xargs rm -r
. Je recommande de parcourir chaque fichier manuellement . Sur ext4 (et d'autres systèmes de fichiers), celafind
va également répertorier tous les dossiers . Si votre préfixe était/usr
, vous allez supprimer/usr/*
.Oui, il est sûr de simplement supprimer tout ce qui est installé. Cela vaut pour les dossiers installés ou les fichiers .egg. Naturellement, tout ce qui dépend de ce code ne fonctionnera plus.
Si vous voulez le faire fonctionner à nouveau, réinstallez simplement.
À propos, si vous utilisez distutils, envisagez également d'utiliser la fonctionnalité multi-version. Il vous permet d'installer plusieurs versions d'un seul package. Cela signifie que vous n'avez pas besoin de supprimer une ancienne version d'un package si vous souhaitez simplement installer une version plus récente.
la source
Dans ubuntu 12.04, j'ai trouvé que le seul endroit où vous devez regarder par défaut est sous
Et supprimez simplement le dossier et le fichier associés, s'il y en a un!
la source
Si c'est à des fins de test et / ou de développement, setuptools dispose d'une commande de développement qui se met à jour à chaque fois que vous effectuez une modification (vous n'avez donc pas à désinstaller et réinstaller à chaque fois que vous effectuez une modification). Et vous pouvez également désinstaller le package à l'aide de cette commande.
Si vous l'utilisez, tout ce que vous déclarez en tant que script sera laissé comme fichier en attente.
la source
install --record
+xargs rm
supprime tous les fichiers et laisse les répertoires vides derrière.
Ce n'est pas idéal, cela devrait suffire pour éviter les conflits de paquets.
Et puis vous pouvez terminer le travail manuellement si vous le souhaitez en lisant
files.txt
, ou être plus courageux et automatiser également la suppression des répertoires vides.Une aide sûre serait:
Testé en Python 2.7.6, Ubuntu 14.04.
la source
pour Python sous Windows:
la source
Je viens de désinstaller un package python, et même si je ne suis pas sûr de l' avoir fait parfaitement, je suis raisonnablement confiant.
J'ai commencé par obtenir une liste de tous les fichiers liés à python, classés par date, en supposant que tous les fichiers de mon package auront plus ou moins le même horodatage, et aucun autre fichier ne le sera.
Heureusement, j'ai installé python sous
/opt/Python-2.6.1
; si j'avais utilisé le Python fourni avec ma distribution Linux, j'aurais dû tout parcourir/usr
, ce qui aurait pris beaucoup de temps.Ensuite , je viens d' examiner cette liste, et noté avec soulagement que toutes les choses que je voulais Nuke se composait d'un répertoire,
/opt/Python-2.6.1/lib/python2.6/site-packages/module-name/
et un fichier,/opt/Python-2.6.1/lib/python2.6/site-packages/module-x.x.x_blah-py2.6.egg-info
.Alors je viens de les supprimer.
Voici comment j'ai obtenu la liste des fichiers triés par date:
find "$@" -printf '%T@ ' -ls | sort -n | cut -d\ -f 2-
(Je pense que ça doit être GNU "find", au fait; la saveur que vous obtenez sur OS X ne connaît pas "-printf '% T @'")
J'utilise ça tout le temps.
la source
Pour Windows 7,
Panneau de configuration -> Programmes -> Désinstaller
, puis
choisissez le package python à supprimer.
la source
Sous Mac OSX, supprimez manuellement ces 2 répertoires sous votre cheminToPython / site-packages / fonctionnera:
par exemple, pour supprimer pyasn1 , qui est un projet installé distutils:
Pour savoir où se trouvent vos packages de site:
la source
ERROR: flake8 3.7.9 has requirement pycodestyle<2.6.0,>=2.5.0, but you'll have pycodestyle 2.3.1 which is incompatible. ERROR: nuscenes-devkit 1.0.8 has requirement motmetrics<=1.1.3, but you'll have motmetrics 1.2.0 which is incompatible. Installing collected packages: descartes, future, torch, cachetools, torchvision, flake8-import-order, xmltodict, entrypoints, flake8, motmetrics, nuscenes-devkit Attempting uninstall: torch Found existing installation: torch 1.0.0 Uninstalling torch-1.0.0: Successfully uninstalled torch-1.0.0 Attempting uninstall: torchvision Found existing installation: torchvision 0.2.1 Uninstalling torchvision-0.2.1: Successfully uninstalled torchvision-0.2.1 Attempting uninstall: entrypoints Found existing installation: entrypoints 0.2.3 ERROR: Cannot uninstall 'entrypoints'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
Puis je tape:
conda uninstall entrypoints pip install --upgrade pycodestyle pip install nuscenes-devkit
Terminé!
la source