为什么python虚拟环境启动后依然使用全局的python和pip

如题所述

你可以看看 venv/bin/activate 文件
一般是和环境变量有关系 PYTHONPATH 或者 是 PATH 有关系
还有一种可能性是你创建虚拟环境的时候指定了某些参数,使用原有的 python

# This file must be used with "source bin/activate" *from bash*# you cannot run it directlydeactivate () { unset pydoc # reset old environment variables
if [ -n "${_OLD_VIRTUAL_PATH-}" ] ; then
PATH="$_OLD_VIRTUAL_PATH"
export PATH unset _OLD_VIRTUAL_PATH fi
if [ -n "${_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-}" -o -n "${ZSH_VERSION-}" ] ; then
hash -r 2>/dev/null fi

if [ -n "${_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 variablesdeactivate nondestructive

VIRTUAL_ENV="/Users/caimaoy/test/test/auto_monitor/monitor"export VIRTUAL_ENV

_OLD_VIRTUAL_PATH="$PATH"PATH="$VIRTUAL_ENV/bin:$PATH"export PATH# unset PYTHONHOME if set# this will fail if PYTHONHOME is set to the empty string (which is bad anyway)# could use `if (set -u; : $PYTHONHOME) ;` in bashif [ -n "${PYTHONHOME-}" ] ; then
_OLD_VIRTUAL_PYTHONHOME="$PYTHONHOME"
unset PYTHONHOMEfiif [ -z "${VIRTUAL_ENV_DISABLE_PROMPT-}" ] ; then
_OLD_VIRTUAL_PS1="$PS1"
if [ "x" != x ] ; then
PS1="$PS1"
else
if [ "`basename \"$VIRTUAL_ENV\"`" = "__" ] ; then
# special case for Aspen magic directories
# see http://www.zetadev.com/software/aspen/
PS1="[`basename \`dirname \"$VIRTUAL_ENV\"\``] $PS1"
else
PS1="(`basename \"$VIRTUAL_ENV\"`)$PS1"
fi
fi
export PS1fialias 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 respectedif [ -n "${BASH-}" -o -n "${ZSH_VERSION-}" ] ; then
hash -r 2>/dev/nullfi
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答