我将venv1
虚拟环境的内容从计算机移至venv2
,这是一个位于不同计算机的虚拟环境。
所以,在新计算机上,当我运行cd venv2
然后source bin/activate
时,我注意到终端上有这种奇怪的行为:
(venv1) me@machine2:~/venv2
我想知道是否有人可以解释我为什么没有进入
(venv2) me@machine2:~/venv2
代替?
答案 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
具有相同的目录树,否则事情将无效。