#!/bin/bash # virtualenv-auto-activate.sh # # Installation: # Add this line to your .bashrc or .bash-profile: # # source /path/to/virtualenv-auto-activate.sh # # Go to your project folder, run "virtualenv .venv", so your project folder # has a .venv folder at the top level, next to your version control directory. # For example: # . # ├── .git # │ ├── HEAD # │ ├── config # │ ├── description # │ ├── hooks # │ ├── info # │ ├── objects # │ └── refs # └── .venv # ├── bin # ├── include # └── lib # # The virtualenv will be activated automatically when you enter the directory. _virtualenv_auto_activate() { if [ -e ".venv" ]; then # Check to see if already activated to avoid redundant activating if [ "$VIRTUAL_ENV" != "$(pwd -P)/.venv" ]; then _VENV_NAME=$(basename `pwd`) echo Activating virtualenv \"$_VENV_NAME\"... VIRTUAL_ENV_DISABLE_PROMPT=1 source .venv/bin/activate _OLD_VIRTUAL_PS1="$PS1" PS1="($_VENV_NAME)$PS1" export PS1 fi fi } export PROMPT_COMMAND=_virtualenv_auto_activate