2017-04-03 1 views
2

Je viens de créer un exemple de projet via setuptools. Le setup.py est:La suppression du lien symbolique n'efface pas un paquet du virtualenv correspondant

from setuptools import setup 

setup(
    name='test_project', 
    version='0.1', 
    packages=['test_project'], 
    zip_safe=False 
) 

J'ai ajouté ce paquet à mon virtualenv via python setup.py develop qui a placé un lien symbolique correspondant dans mon virtualenv: ./lib/python2.7/site-packages/test-project.egg-link.

Pour supprimer le paquet je pensais qu'il suffirait de supprimer seulement le lien symbolique de virtualenv. Cependant, après avoir supprimé le lien symbolique python -c "import test_project" réussit toujours. Y a-t-il des caches que je dois enlever en plus?

(j'ai créé le virtualenv avec l'option --system-site-packages si cela est d'une importance, le paquet n'est pas installé l'échelle du système, à savoir python -c "import test_project" échoue en dehors du virtualenv.)

(j'ai ce problème avec les deux Python 2 et Python 3.)

+0

Ne désinfecterez-vous pas. Faites-vous ce que vous voulez? – karlson

+0

Yep 'pip uninstall 'a fait le travail. Probablement en raison de ce que vous avez mentionné dans votre réponse. Merci! –

Répondre

2

Vous devrez supprimer votre paquet du easy-install.pth dans vos paquets-site. Il devrait être ./lib/python2.7/site-packages/easy-install.pth dans votre cas.

Je trouve beaucoup plus pratique d'installer des versions de développement de paquets python via pip avec pip install -e . à partir du répertoire du projet (ou pip install -e [projectpath] de n'importe où). Les paquets installés de cette façon peuvent être facilement enlevés avec pip uninstall [packagename]

+0

Suppression de 'easy-install.pth' travaillé! Je pourrais aussi utiliser 'pip uninstall' bien que j'aie installé le paquet via' setup.py'. –