了解移动到其他计算机时的虚拟环境行为

时间:2018-03-19 09:32:23

标签: python ubuntu pip virtualenv

我将venv1虚拟环境的内容从计算机移至venv2,这是一个位于不同计算机的虚拟环境。

所以,在新计算机上,当我运行cd venv2然后source bin/activate时,我注意到终端上有这种奇怪的行为:

(venv1) me@machine2:~/venv2

我想知道是否有人可以解释我为什么没有进入

(venv2) me@machine2:~/venv2

代替?

1 个答案:

答案 0 :(得分:1)

activate脚本围绕第43行执行此操作:

VIRTUAL_ENV="/full/path/to/venv1"
export VIRTUAL_ENV

_OLD_VIRTUAL_PATH="$PATH"
PATH="$VIRTUAL_ENV/bin:$PATH"
export PATH

# 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

所以它仍会在原始venv1目录中查找(并在提示中显示)。除非你的machine2具有相同的目录树,否则事情将无效。