web-dev-qa-db-fra.com

Comment renommer un virtualenv en Python?

J'ai mal orthographié le nom du virtualenv en l'initialisant avec:

$ virtualenv vnev

En fait, j'avais l'intention de créer l'environnement avec le nom venv. Après avoir essayé de renommer le dossier vnev en venv, je constate que cela ne fournit pas beaucoup d’aide. Le nom de l'environnement d'activation renomme toujours l'ancien vnev.

$ mv vnev venv
$ . venv/bin/activate
(vnev) $ deactivate

J'aimerais savoir comment renommer l'environnement?

48
Kshitij Saraogi

Par défaut, virtualenv ne prend pas en charge le changement de nom d'environnements. Il est préférable de simplement supprimer le répertoire virtualenv et d'en créer un nouveau portant le nom correct. Vous pouvez le faire en:

  1. Activez votre virtualenv: source vnev/bin/activate
  2. Créez un fichier exigences.txt des packages actuellement installés: pip freeze > requirements.txt
  3. Supprimez le fichier virtualenv mal orthographié: rm -r vnev/
  4. Créez un nouveau virtualenv avec le nom correct: virtualenv venv
  5. Activer le nouveau virtualenv: source venv/bin/activate
  6. Installez les paquets à partir de Requirements.txt: pip install -r requirements.txt

Si la recréation n'est pas une option, il existe des outils tiers tels que virtualenv-mv qui pourraient être utiles.

Vous pouvez également utiliser virtualenvwrapper , qui fournit la commande cpvirtualenv pour copier ou renommer virtualenvs.

95
andrew

Si vous utilisez virtualenvwrapper cela peut être fait par:

$ cpvirtualenv <wrong_name> <correct_name>
$ rmvirtualenv <wrong_name>

Aussi, pour votre information, pour renommer un conda virtualenvironment, vérifiez cette question .

30
farenorth

Ma réponse est similaire à la création d'un nouvel environnement virtuel avec les dépendances de l'ancien, mais celui-ci est succinct.

  1. Clonez l'ancien environnement (par exemple, venv_1) dans un nouvel environnement (par exemple, venv_2) à l'aide de conda.

    conda create -n venv_2 --clone venv_1

Cela crée un nouvel environnement venv_2 en clonant venv_1. Par conséquent, aucune tâche distincte pour obtenir les packages/dépendances. Un seul pas suffit.

  1. Supprimer l'ancien environnement virtuel. [Cette étape est facultative si vous souhaitez toujours conserver l'ancien environnement]

    rm -rf "chemin qualifié complet de l'ancien environnement virtuel"

Donc, en 1/2 étapes, la tâche peut être accomplie.

0
ImNomad