Created
March 19, 2018 06:22
-
-
Save autosquid/8703c7b036d5ddfa61ce781e8e519fce to your computer and use it in GitHub Desktop.
retain pythonpath when virtualenv activate
This file contains 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
# This file must be used with "source bin/activate" *from bash* | |
# you cannot run it directly | |
deactivate () { | |
unset -f pydoc >/dev/null 2>&1 | |
# reset old environment variables | |
# ! [ -z ${VAR+_} ] returns true if VAR is declared at all | |
if ! [ -z "${_OLD_PYTHONPATH+_}" ] ; then | |
PYTHONPATH="$_OLD_PYTHONPATH" | |
export PYTHONPATH | |
unset _OLD_PYTHONPATH | |
fi | |
# | |
if ! [ -z "${_OLD_VIRTUAL_PATH+_}" ] ; then | |
PATH="$_OLD_VIRTUAL_PATH" | |
export PATH | |
unset _OLD_VIRTUAL_PATH | |
fi | |
if ! [ -z "${_OLD_VIRTUAL_PYTHONHOME+_}" ] ; then | |
PYTHONHOME="$_OLD_VIRTUAL_PYTHONHOME" | |
export PYTHONHOME | |
unset _OLD_VIRTUAL_PYTHONHOME | |
fi | |
# This should detect bash and zsh, which have a hash command that must | |
# be called to get it to forget past commands. Without forgetting | |
# past commands the $PATH changes we made may not be respected | |
if [ -n "${BASH-}" ] || [ -n "${ZSH_VERSION-}" ] ; then | |
hash -r 2>/dev/null | |
fi | |
if ! [ -z "${_OLD_VIRTUAL_PS1+_}" ] ; then | |
PS1="$_OLD_VIRTUAL_PS1" | |
export PS1 | |
unset _OLD_VIRTUAL_PS1 | |
fi | |
unset VIRTUAL_ENV | |
if [ ! "${1-}" = "nondestructive" ] ; then | |
# Self destruct! | |
unset -f deactivate | |
fi | |
} | |
# unset irrelevant variables | |
deactivate nondestructive | |
VIRTUAL_ENV="/home/wangzh/.virtualenvs/mpy27" | |
export VIRTUAL_ENV | |
_OLD_VIRTUAL_PATH="$PATH" | |
PATH="$VIRTUAL_ENV/bin:$PATH" | |
export PATH | |
_OLD_PYTHONPATH="$PYTHONPATH" | |
export PYTHONPATH=$PYTHONPATH:/usr/lib/python2.7/dist-packages | |
# unset PYTHONHOME if set | |
if ! [ -z "${PYTHONHOME+_}" ] ; then | |
_OLD_VIRTUAL_PYTHONHOME="$PYTHONHOME" | |
unset PYTHONHOME | |
fi | |
if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT-}" ] ; then | |
_OLD_VIRTUAL_PS1="$PS1" | |
if [ "x" != x ] ; then | |
PS1="$PS1" | |
else | |
PS1="(`basename \"$VIRTUAL_ENV\"`) $PS1" | |
fi | |
export PS1 | |
fi | |
# Make sure to unalias pydoc if it's already there | |
alias pydoc 2>/dev/null >/dev/null && unalias pydoc | |
pydoc () { | |
python -m pydoc "$@" | |
} | |
# This should detect bash and zsh, which have a hash command that must | |
# be called to get it to forget past commands. Without forgetting | |
# past commands the $PATH changes we made may not be respected | |
if [ -n "${BASH-}" ] || [ -n "${ZSH_VERSION-}" ] ; then | |
hash -r 2>/dev/null | |
fi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment