17db96d56Sopenharmony_ci# This file must be used with "source bin/activate" *from bash*
27db96d56Sopenharmony_ci# you cannot run it directly
37db96d56Sopenharmony_ci
47db96d56Sopenharmony_cideactivate () {
57db96d56Sopenharmony_ci    # reset old environment variables
67db96d56Sopenharmony_ci    if [ -n "${_OLD_VIRTUAL_PATH:-}" ] ; then
77db96d56Sopenharmony_ci        PATH="${_OLD_VIRTUAL_PATH:-}"
87db96d56Sopenharmony_ci        export PATH
97db96d56Sopenharmony_ci        unset _OLD_VIRTUAL_PATH
107db96d56Sopenharmony_ci    fi
117db96d56Sopenharmony_ci    if [ -n "${_OLD_VIRTUAL_PYTHONHOME:-}" ] ; then
127db96d56Sopenharmony_ci        PYTHONHOME="${_OLD_VIRTUAL_PYTHONHOME:-}"
137db96d56Sopenharmony_ci        export PYTHONHOME
147db96d56Sopenharmony_ci        unset _OLD_VIRTUAL_PYTHONHOME
157db96d56Sopenharmony_ci    fi
167db96d56Sopenharmony_ci
177db96d56Sopenharmony_ci    # This should detect bash and zsh, which have a hash command that must
187db96d56Sopenharmony_ci    # be called to get it to forget past commands.  Without forgetting
197db96d56Sopenharmony_ci    # past commands the $PATH changes we made may not be respected
207db96d56Sopenharmony_ci    if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then
217db96d56Sopenharmony_ci        hash -r 2> /dev/null
227db96d56Sopenharmony_ci    fi
237db96d56Sopenharmony_ci
247db96d56Sopenharmony_ci    if [ -n "${_OLD_VIRTUAL_PS1:-}" ] ; then
257db96d56Sopenharmony_ci        PS1="${_OLD_VIRTUAL_PS1:-}"
267db96d56Sopenharmony_ci        export PS1
277db96d56Sopenharmony_ci        unset _OLD_VIRTUAL_PS1
287db96d56Sopenharmony_ci    fi
297db96d56Sopenharmony_ci
307db96d56Sopenharmony_ci    unset VIRTUAL_ENV
317db96d56Sopenharmony_ci    unset VIRTUAL_ENV_PROMPT
327db96d56Sopenharmony_ci    if [ ! "${1:-}" = "nondestructive" ] ; then
337db96d56Sopenharmony_ci    # Self destruct!
347db96d56Sopenharmony_ci        unset -f deactivate
357db96d56Sopenharmony_ci    fi
367db96d56Sopenharmony_ci}
377db96d56Sopenharmony_ci
387db96d56Sopenharmony_ci# unset irrelevant variables
397db96d56Sopenharmony_cideactivate nondestructive
407db96d56Sopenharmony_ci
417db96d56Sopenharmony_ciVIRTUAL_ENV="__VENV_DIR__"
427db96d56Sopenharmony_ciexport VIRTUAL_ENV
437db96d56Sopenharmony_ci
447db96d56Sopenharmony_ci_OLD_VIRTUAL_PATH="$PATH"
457db96d56Sopenharmony_ciPATH="$VIRTUAL_ENV/__VENV_BIN_NAME__:$PATH"
467db96d56Sopenharmony_ciexport PATH
477db96d56Sopenharmony_ci
487db96d56Sopenharmony_ci# unset PYTHONHOME if set
497db96d56Sopenharmony_ci# this will fail if PYTHONHOME is set to the empty string (which is bad anyway)
507db96d56Sopenharmony_ci# could use `if (set -u; : $PYTHONHOME) ;` in bash
517db96d56Sopenharmony_ciif [ -n "${PYTHONHOME:-}" ] ; then
527db96d56Sopenharmony_ci    _OLD_VIRTUAL_PYTHONHOME="${PYTHONHOME:-}"
537db96d56Sopenharmony_ci    unset PYTHONHOME
547db96d56Sopenharmony_cifi
557db96d56Sopenharmony_ci
567db96d56Sopenharmony_ciif [ -z "${VIRTUAL_ENV_DISABLE_PROMPT:-}" ] ; then
577db96d56Sopenharmony_ci    _OLD_VIRTUAL_PS1="${PS1:-}"
587db96d56Sopenharmony_ci    PS1="__VENV_PROMPT__${PS1:-}"
597db96d56Sopenharmony_ci    export PS1
607db96d56Sopenharmony_ci    VIRTUAL_ENV_PROMPT="__VENV_PROMPT__"
617db96d56Sopenharmony_ci    export VIRTUAL_ENV_PROMPT
627db96d56Sopenharmony_cifi
637db96d56Sopenharmony_ci
647db96d56Sopenharmony_ci# This should detect bash and zsh, which have a hash command that must
657db96d56Sopenharmony_ci# be called to get it to forget past commands.  Without forgetting
667db96d56Sopenharmony_ci# past commands the $PATH changes we made may not be respected
677db96d56Sopenharmony_ciif [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then
687db96d56Sopenharmony_ci    hash -r 2> /dev/null
697db96d56Sopenharmony_cifi
70