752 votes

Comment supprimer/supprimer un virtualenv ?

J'ai créé un environnement avec la commande suivante : virtualenv venv --distribute

Je ne peux pas le supprimer avec la commande suivante : rmvirtualenv venv - Cela fait partie de virtualenvwrapper comme mentionné dans réponse ci-dessous pour virtualenvwrapper

Je fais un ls dans mon répertoire courant et je vois toujours venv

La seule façon de l'enlever semble être : sudo rm -rf venv

Notez que l'environnement n'est pas actif. J'utilise Ubuntu 11.10. Des idées ? J'ai essayé de redémarrer mon système, sans succès.

31 votes

Il suffit de supprimer le répertoire.

0 votes

Honk : sudo rmvirtualenv venv n'est pas une commande valide. Je ne sais pas pourquoi j'ai pensé qu'un redémarrage aiderait. Je suis assez nouveau, pour être honnête.

32 votes

Notez que rmvirtualenv est fourni avec virtualenvwrapper. Vous devez l'installer pour que cela fonctionne.

723voto

Thomas Anthony Points 891

" La seule façon de l'enlever semble être : sudo rm -rf venv "

C'est ça ! Il n'y a pas de commande pour supprimer votre environnement virtuel. Il suffit de le désactiver et de débarrasser votre application de ses artefacts en le supprimant récursivement.

Notez que cette procédure est la même quel que soit le type d'environnement virtuel que vous utilisez. virtualenv , venv environnement Anaconda, pyenv , pipenv sont tous basés sur le même principe ici.

23 votes

Il est intéressant de noter que si vous utilisez pip pour installer des dépendances, vous pourriez vouloir figer une liste de dépendances et la conserver dans le répertoire de premier niveau. Si vous décidez plus tard de déployer votre application, vous n'aurez pas de problème.

7 votes

Pourquoi est-ce accepté et avec autant de votes, alors que la réponse correcte est juste en dessous ? Peut-être que c'était pour une ancienne version de virtualenvwarpper.

10 votes

@jsbueno Il utilisait virtualenv, pas virtualenvwrapper (ce n'est pas le même programme). À l'époque, virtualenv ne fournissait aucune interface pour le nettoyage ; vous deviez le faire vous-même.

187voto

Devy Points 588

Juste pour faire écho à ce que @skytreader avait précédemment commenté, rmvirtualenv est une commande fournie par virtualenvwrapper pas virtualenv . Peut-être que tu n'avais pas virtualenvwrapper installé ?

Ver Référence des commandes de VirtualEnvWrapper pour plus de détails.

146voto

Antoniazzi Points 1452

Utilice rmvirtualenv

Supprimer un environnement, dans le $WORKON_HOME .

Syntaxe :

rmvirtualenv ENVNAME

Vous devez utiliser la fonction de désactivation avant de supprimer l'environnement actuel.

$ rmvirtualenv my_env

Référence : http://virtualenvwrapper.readthedocs.io/en/latest/command_ref.html

2 votes

Il y a même tab soutien à l'achèvement de ce projet !

22 votes

Notez que cette réponse est erronée car le PO n'a jamais dit qu'ils avaient virtualenvwrapper

1 votes

@KevinDTimm Oui, mais pour ceux d'entre nous qui utilisent virtualenvwrapper, cette réponse est plus "correcte" que correcte !

113voto

Dawn T Cherian Points 1916

Vous pouvez supprimer toutes les dépendances en les désinstallant toutes récursivement, puis en supprimant le venv.

Modifier y compris le commentaire d'Isaac Turner

source venv/bin/activate
pip freeze > requirements.txt
pip uninstall -r requirements.txt -y
deactivate
rm -r venv/

3 votes

Je pense qu'il vous manque un deactivate avant le rm -r venv/

3 votes

Et critiquement ne le faites que si vous ne partagez pas les ressources du système. pip ! (Sinon, vous allez désinstaller tous les paquets de votre système).

11 votes

En fait, il ne devrait pas y avoir besoin de séparer pip uninstall si vous supprimez tous les paquets par le biais de rm de toute façon. En sautant cette étape, on évite également le risque signalé dans le commentaire précédent.

73voto

Si vous utilisez pyenv, il est possible de supprimer votre environnement virtuel :

$ pyenv virtualenv-delete <name>

5 votes

Vous pouvez également exécuter pyenv uninstall <name> comme commande équivalente

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X