• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# This file must be used with "source bin/activate" *from bash*
2# you cannot run it directly
3
4deactivate () {
5    # reset old environment variables
6    if [ -n "${_OLD_VIRTUAL_PATH:-}" ] ; then
7        PATH="${_OLD_VIRTUAL_PATH:-}"
8        export PATH
9        unset _OLD_VIRTUAL_PATH
10    fi
11    if [ -n "${_OLD_VIRTUAL_PYTHONHOME:-}" ] ; then
12        PYTHONHOME="${_OLD_VIRTUAL_PYTHONHOME:-}"
13        export PYTHONHOME
14        unset _OLD_VIRTUAL_PYTHONHOME
15    fi
16
17    # This should detect bash and zsh, which have a hash command that must
18    # be called to get it to forget past commands.  Without forgetting
19    # past commands the $PATH changes we made may not be respected
20    if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then
21        hash -r 2> /dev/null
22    fi
23
24    if [ -n "${_OLD_VIRTUAL_PS1:-}" ] ; then
25        PS1="${_OLD_VIRTUAL_PS1:-}"
26        export PS1
27        unset _OLD_VIRTUAL_PS1
28    fi
29
30    unset VIRTUAL_ENV
31    unset VIRTUAL_ENV_PROMPT
32    if [ ! "${1:-}" = "nondestructive" ] ; then
33    # Self destruct!
34        unset -f deactivate
35    fi
36}
37
38# unset irrelevant variables
39deactivate nondestructive
40
41VIRTUAL_ENV="__VENV_DIR__"
42export VIRTUAL_ENV
43
44_OLD_VIRTUAL_PATH="$PATH"
45PATH="$VIRTUAL_ENV/__VENV_BIN_NAME__:$PATH"
46export PATH
47
48# unset PYTHONHOME if set
49# this will fail if PYTHONHOME is set to the empty string (which is bad anyway)
50# could use `if (set -u; : $PYTHONHOME) ;` in bash
51if [ -n "${PYTHONHOME:-}" ] ; then
52    _OLD_VIRTUAL_PYTHONHOME="${PYTHONHOME:-}"
53    unset PYTHONHOME
54fi
55
56if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT:-}" ] ; then
57    _OLD_VIRTUAL_PS1="${PS1:-}"
58    PS1="__VENV_PROMPT__${PS1:-}"
59    export PS1
60    VIRTUAL_ENV_PROMPT="__VENV_PROMPT__"
61    export VIRTUAL_ENV_PROMPT
62fi
63
64# This should detect bash and zsh, which have a hash command that must
65# be called to get it to forget past commands.  Without forgetting
66# past commands the $PATH changes we made may not be respected
67if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then
68    hash -r 2> /dev/null
69fi
70