How to leave/exit/deactivate a Python virtualenv

How to leave/exit/deactivate a Python virtualenv

Usually, activating a virtualenv gives you a shell function named:

$ deactivate

which puts things back to normal.

I have just looked specifically again at the code for virtualenvwrapper, and, yes, it too supports deactivate as the way to escape from all virtualenvs.

If you are trying to leave an Anaconda environment, the command depends upon your version of conda. Recent versions (like 4.6) install a conda function directly in your shell, in which case you run:

conda deactivate

Older conda versions instead implement deactivation using a stand-alone script:

source deactivate


$ deactivate 

If this doesnt work, try

$ source deactivate

Anyone who knows how Bash source works will think thats odd, but some wrappers/workflows around virtualenv implement it as a complement/counterpart to source activate. Your mileage may vary.

How to leave/exit/deactivate a Python virtualenv

I defined an alias, workoff, as the opposite of workon:

alias workoff=deactivate

It is easy to remember:

[bobstein@host ~]$ workon django_project
(django_project)[bobstein@host ~]$ workoff
[bobstein@host ~]$

Leave a Reply

Your email address will not be published. Required fields are marked *