| #!/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 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment