Python在不更改提示的情况下激活虚拟环境

时间:2019-01-09 06:34:47

标签: python bash

我的shell提示符是只读的,所以当尝试激活venv时,我得到了

source myenv/bin/activate
-bash: PS1: readonly variable

在这里查看文档

https://virtualenv.pypa.io/en/stable/reference/#envvar-VIRTUAL_ENV_DISABLE_PROMPT
  

将其设置为非空值时创建的任何virtualenv都不会   有激活脚本修改外壳程序提示

所以,我删除了venv,跑了

export VIRTUAL_ENV_DISABLE_PROMPT=1

并重新创建虚拟环境,

virtualenv myenv

但它仍然显示

-bash: PS1: readonly variable

当我尝试获取它时。

该变量似乎设置正确

env | grep VIRTUAL_ENV_DISABLE
VIRTUAL_ENV_DISABLE_PROMPT=1

我在这里做什么错了?

1 个答案:

答案 0 :(得分:0)

更新./bin/activate脚本以跳过更新PS1变量:

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