Fix Python – How to rename a virtualenv in Python?

Question

Asked By – Kshitij Saraogi

I misspelled the name of the virtualenv while initializing it using:

$ virtualenv vnev

I actually intended to create the environment with the name venv.
Having tried to rename the vnev folder to venv, I find that this doesn’t provide much help. The name of the activate environment still renames the old vnev.

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

I would like to know how to go about renaming the environment?

Now we will see solution for issue: How to rename a virtualenv in Python?


Answer

By default virtualenv does not support the renaming of environments. It is safer to just delete the virtualenv directory and create a new one with the correct name. You can do this by:

  1. Activate your virtualenv: source vnev/bin/activate
  2. Create a requirements.txt of currently installed packages: pip freeze > requirements.txt
  3. Delete the misspelled virtualenv: rm -r vnev/
  4. Create a new virtualenv with correct name: virtualenv venv
  5. Activate new virtualenv: source venv/bin/activate
  6. Install packages from requirements.txt: pip install -r requirements.txt

If recreating is not an option there are 3rd party tools like virtualenv-mv that might be helpful.

Alternatively you can use virtualenvwrapper which provides the cpvirtualenv command to copy or rename virtualenvs.

This question is answered By – andrew

This answer is collected from stackoverflow and reviewed by FixPython community admins, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0