Comment supprimer le paquet pip après l'avoir supprimé manuellement
J'ai supprimé un paquet pip avec la commande rm -rf
pensant que le paquet sera supprimé. Maintenant, le paquet a été supprimé mais il apparaît toujours dans pip list
et je ne peux pas le supprimer avec pip uninstall
et je ne peux pas mettre à jour avec pip install --upgrade
.
Je voudrais l'enlever complètement. Quelqu'un peut-il me dire comment?
Modifier
Le paquet est psycopg2.
Si j'essaie de désinstaller:
hammad@hammad-P5QL-E:~$ pip uninstall psycopg2
Can't uninstall 'psycopg2'. No files were found to uninstall.
, C'est le répertoire dans lequel psycopg2 est situé /usr/lib/python2.7/dist-packages
et I rm -rf
'd à partir du même répertoire.
TIA
3 réponses
Les paquets installés à l'aide de pip peuvent être désinstallés complètement à l'aide de
pip uninstall <package>
pip uninstall
est susceptible d'échouer si le paquet est installé à l'aide de python setup.py install
car ils ne laissent pas de métadonnées pour déterminer quels fichiers ont été installés.
Les paquets apparaissent toujours dans pip list
si leurs chemins(.fichier pth) existent toujours dans votre dossier site-packages ou dist-packages. Vous devrez également les supprimer si vous les supprimez en utilisant rm -rf
- Allez dans le répertoire
site-packages
où PIP installe vos paquets. - vous devriez voir le fichier egg qui correspond au paquet que vous souhaitez désinstaller. Supprimez le fichier egg (ou, pour être sûr, déplacez-le dans un répertoire différent).
- Faites de même avec les fichiers du paquet que vous souhaitez supprimer (dans ce cas, le répertoire
psycopg2
). pip install YOUR-PACKAGE
Je suis sûr qu'il y a une meilleure façon d'y parvenir et je voudrais lire à ce sujet, mais une solution de contournement à laquelle je peux penser est la suivante:
- Installez le package sur une autre machine.
- Copiez le répertoire
rm
'ed sur la machine d'origine (ssh, ftp, peu importe). -
pip uninstall
le paquet (devrait fonctionner à nouveau alors).
Mais, oui, j'aimerais aussi entendre parler d'une solution décente pour cette situation.