I never used to see this message before when using virtualenvwrapper, but now I'm suddenly seeing this message whenever I run, say, mkvirtualenv <environment>
or workon <environment>
:
Usage: source deactivate
removes the 'bin' directory of the environment activated with 'source
activate' from PATH.
I haven't modified virtualenvwrapper at all, and a quick google search only yields this GitHub issue -- I did install IPython/Anaconda a while back, but I'm not sure how it might be interfering with virtualenvwrapper. In any case, I tried updating both (conda update conda; conda update ipython
), as well as updating virtualenvwrapper itself to v4.1.1, but I'm still seeing this error.
I'm running OS X 10.8.4.
workon
, which is defined in /usr/local/bin/virtualenvwrapper.sh
, calls deactivate
. A script of the same name is present in Anaconda's bin, so it gets called by workon.
The best solution I've found so far is to rename activate and deactivate in Anaconda's bin. If there's a better solution, please comment and I'll update this answer.
This happened to me after installing Anaconda from https://www.continuum.io/downloads. If you don't need the program and it will be uninstalled, remove the following from your ~/.bash_profile:
added by Anaconda2 4.2.0 installer
export PATH="//anaconda/bin:$PATH"
Anaconda already knows where activate and the different environments are so virtualenvwrapper isn't needed.
All virtualenvwrapper seems to provide on Mac is the workon shortcut to source activate, you can use an alias in your bash.rc file and uninstall virtualenvwrapper.
Just add the alias line below where you add ~/anaconda/bin to your path like the example below.
# added by Anaconda3 4.3.1 installer
export PATH="$HOME/anaconda/bin:$PATH"
# Add workon alias here!
alias workon='source activate'
Now when I run 'workon Django', it runs my Anaconda Django virtual env without reminding me that 'source deactivate' is the way to exit.
If you didn't catch that, to exit the virtual env just run 'source deactivate'