- 
      
 - 
        
Save brennebeck/d2103edd9bfca3eb260f2e7296f93c84 to your computer and use it in GitHub Desktop.  
    Show current pyenv python version in bash prompt, and also color virtual envs differently
  
        
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
  | #### | |
| #### pyenv-virtualenv bash prompt customization | |
| #### | |
| # pyenv | |
| eval "$(pyenv init -)" | |
| # pyenv-virtualenv: | |
| eval "$(pyenv virtualenv-init -)" | |
| export PYENV_VIRTUALENV_DISABLE_PROMPT=1 | |
| pyenvVirtualenvUpdatePrompt() { | |
| RED='\[\e[0;31m\]' | |
| GREEN='\[\e[0;32m\]' | |
| BLUE='\[\e[0;34m\]' | |
| RESET='\[\e[0m\]' | |
| [ -z "$PYENV_VIRTUALENV_ORIGINAL_PS1" ] && export PYENV_VIRTUALENV_ORIGINAL_PS1="$PS1" | |
| [ -z "$PYENV_VIRTUALENV_GLOBAL_NAME" ] && export PYENV_VIRTUALENV_GLOBAL_NAME="$(pyenv global)" | |
| VENV_NAME="$(pyenv version-name)" | |
| VENV_NAME="${VENV_NAME##*/}" | |
| GLOBAL_NAME="$PYENV_VIRTUALENV_GLOBAL_NAME" | |
| # non-global versions: | |
| COLOR="$BLUE" | |
| # global version: | |
| [ "$VENV_NAME" == "$GLOBAL_NAME" ] && COLOR="$RED" | |
| # virtual envs: | |
| [ "${VIRTUAL_ENV##*/}" == "$VENV_NAME" ] && COLOR="$GREEN" | |
| if [ -z "$COLOR" ]; then | |
| PS1="$PYENV_VIRTUALENV_ORIGINAL_PS1" | |
| else | |
| PS1="($COLOR${VENV_NAME}$RESET)$PYENV_VIRTUALENV_ORIGINAL_PS1" | |
| fi | |
| export PS1 | |
| } | |
| export PROMPT_COMMAND="$PROMPT_COMMAND pyenvVirtualenvUpdatePrompt;" | |
| ## Recommanded pyenv setup: | |
| ## run this once, don't put it in .bash_profile (or similar) files! | |
| # $ pyenv global system | |
| # $ cd $HOME | |
| # $ pyenv local 2.7.11 # or which ever version you like having as default | 
  
    Sign up for free
    to join this conversation on GitHub.
    Already have an account?
    Sign in to comment