Skip to content
Advertisement

How to rename a virtualenv in Python?

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?

Advertisement

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.

User contributions licensed under: CC BY-SA
2 People found this is helpful
Advertisement