J'ai installé des paquets avec -e
> pip install -e git+https://github.com/eventray/horus.git@2ce62c802ef5237be1c6b1a91dbf115ec284a619#Egg=horus-dev
Je vois avec gel je vois
> pip freeze
...
-e git+https://github.com/eventray/horus.git@2ce62c802ef5237be1c6b1a91dbf115ec284a619#Egg=horus-dev
...
lorsque j'essaie de désinstaller les paquets, des erreurs se produisent:
> pip uninstall horus-dev
Cannot uninstall requirement horus-dev, not installed
> pip uninstall horus
Cannot uninstall requirement horus, not installed
Comment désinstaller un tel paquet?
Au {virtualenv}/lib/python2.7/site-packages/
(si vous n’utilisez pas virtualenv, alors {system_dir}/lib/python2.7/dist-packages/
)
distribute-0.6.34-py2.7.Egg
) s'il y en aeasy-install.pth
, supprimez la ligne correspondante (il doit s'agir d'un chemin d'accès au répertoire source ou d'un fichier Egg).Installez un paquet dev utilisez cmd:
pip install --editable .
Désinstaller:
rm -r $(find . -name '*.Egg-info')
Il se trouve que mon installation était en quelque sorte corrompue.
Je pourrais trouver l'entrée dans:
/usr/local/lib/python2.7/site-packages/easy-install.pth
Pour résoudre le problème, j'ai supprimé la ligne du fichier .pth à la main!
import sys; sys.__plen = len(sys.path)
...
/absolute-path-to/horus # <- I removed this line
...
Une façon plus simple de faire la même chose avec la nouvelle version de setup_tools consiste à exécuter les opérations suivantes:
python setup.py develop -u
Ce qui fait fondamentalement la même chose que ce que @glarrain décrit dans sa réponse.
Il s’agit d’un bogue sous debian/ubuntu linux utilisant le pip installé sur le système d’exploitation (version 8.1.1 pour moi), ce que vous invoquerez avec Sudo pip
même si vous avez mis à niveau pip (par exemple, get-pip.py). Voir https://github.com/pypa/pip/issues/4438
Pour une discussion sur la façon de nettoyer, voir https://askubuntu.com/questions/173323/how-do-i-detect-and-remove-python-packages-installed-via-pip , si les solutions il existe des variétés "tout retirer".
... pip les paquets [allez] à
/usr/local/lib/python2.7/dist-packages
, et les paquets apt à/usr/lib/python2.7/dist-packages
... quelques paquets ont également été installés dans
~/.local/lib
.
Pour mon système, tout ce que j'avais à supprimer était /usr/local/lib/python2.7/dist-packages/{package_name}.Egg-link
Au cas où cela aiderait quelqu'un d’autre: Je ne suis pas sûr qu’il s’agisse du même problème, mais j’ai rencontré un problème similaire, où j’avais installé un paquet localement pour le développement avec:
$ pip install -e .
mais quand j'ai couru
$ pip uninstall -e .
J'ai eu
Usage:
pip uninstall [options] <package> ...
pip uninstall [options] -r <requirements file> ...
no such option: -e
et quand je lance pip freeze
je reçois
package1=1.0.0
package2=1.0.0
...
package12=1.0.0
-e [email protected]/me/my-repo.git@hash
package13=1.0.0
...
J'ai donc transféré ceci dans un requirements.txt
, enlevé tout sauf la ligne -e
puis exécuté:
$ pip uninstall -r requirements.txt
qui a fonctionné pour moi