如何在激活 Python venv 时不改变 shell 提示符?

如何在激活 Python venv 时不改变 shell 提示符?

我创建了一个像这样的 venv:

python3 -m venv .venv

当我激活它时,shell 提示符就改变了。

antkong@konga-mbp ~/dev/my-project (git-branch-name)
$ source .venv/bin/activate
(.venv) konga-mbp:my-project antkong$

我怎样才能使提示保持相同?

答案1

Bash shell 的提示符由变量控制PS1

脚本activate(靠近底部)在_OLD_VIRTUAL_PS1变量中保留其旧值,然后在其前面添加韦恩姓名:

if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT:-}" ] ; then
    _OLD_VIRTUAL_PS1="${PS1:-}"
    if [ "x(gearshift3.8) " != x ] ; then
    PS1="(gearshift3.8) ${PS1:-}"
...

因此,要立即恢复到旧的PS1,请输入:

export PS1="$_OLD_VIRTUAL_PS1"

您可以编辑activate脚本并禁用上述条件块,以便将来韦恩激活,将其第一行替换为:

if false; then

如果要禁用所有后续韦恩激活(在你的 shell 会话期间),为在块条件下检查的变量设置一些值:

export VIRTUAL_ENV_DISABLE_PROMPT=1

最后,如果您希望此行为在您未来的所有控制台会话中持续存在,请将上述行添加到您的~/.bashrc.

相关内容