【问题标题】:understanding virtual environment behavior when moving to a different machine了解移动到不同机器时的虚拟环境行为
【发布时间】:2018-08-27 19:36:42
【问题描述】:

我将venv1 虚拟环境的内容从一台计算机移动到venv2,这是一个位于另一台计算机上的虚拟环境。

所以,在新计算机上,当我运行 cd venv2source bin/activate 时,我注意到终端上出现了这种奇怪的行为:

(venv1) me@machine2:~/venv2

我想知道是否有人可以解释我为什么不适合

(venv2) me@machine2:~/venv2

改为?

【问题讨论】:

  • 我很确定将 venv 移动到另一台机器不是受支持的操作。有很多方法可以让您只获得崩溃而不是任何有用的行为。

标签: python ubuntu pip virtualenv


【解决方案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 具有相同的目录树,否则将无法正常工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-27
    • 2019-09-24
    • 2021-12-16
    • 2022-10-08
    相关资源
    最近更新 更多