note: anaconda python does not work with virtualenv/virutalenvwrapper. use conda instead.
$ type -a python
python is ~/anaconda/bin/python
python is /usr/bin/python
$ type -a python3
python3 is /usr/local/bin/python3add to ~/.zshrc file:
export WORKON_HOME=$HOME/.virtualenvs # virtualenvs location
export PROJECT_HOME=$HOME/Envs # project working directories location
export VIRTUALENVWRAPPER_PYTHON= # full path of interpreter to use
export VIRTUALENV_PYTHON= # overrides interpreter above
export VIRTUALENVWRAPPER_VIRTUALENV= # full path of virtualenv binary to use
source /usr/local/bin/virtualenvwrapper.shor specify VIRTUALENV_PYTHON with python directory before mkproject/mkvirtualenv
$ export VIRTUALENV_PYTHON=/usr/local/bin/python3
$ mkproject py3
$ python -V
Python 3.3.4
(py2)creates an environment inside ~/.virtualenvs
$ mkvirtualenv venv
# or
$ mkvirtualenv --python=/usr/local/bin/python3 venvcreates an environment inside ~/.virtualenvs and a project directory inside ~/Envs
$ mkproject py33$ pip install "ipython[all]"
shows current environments
$ workon
py33
venvswitches out of current environment
$ deactivateremoves project/environment
$ rmvirtualenv py33update pip for all virtualenvs
$ allvirtualenv pip install -U pipcreates temporary environment in WORKON_HOME directory. deleted when deactivated.
mktmpenvafter installing modules, create requirements.txt
$ pip install Flask requests
$ pip freeze > requirements.txt
$ cat requirements.txt
Flask==0.8
requests==0.11.1
# use requirements.txt modules for new virtualenv
$ pip install -r requirements.txtpostmkvirtualenv is run when a new environment is created, letting you automatically install commonly-used tools.