激活虚拟环境时自定义 venv 提示未更新

问题描述 投票:0回答:1

我尝试通过将以下内容添加到我的

.zshrc
文件中来自定义我的虚拟环境提示:

...
export VIRTUAL_ENV_DISABLE_PROMPT=1
if [[ -v VIRTUAL_ENV ]]; then
    PROMPT='%F{green}(venv)%f'$PROMPT
fi
...

这仅在激活虚拟环境后

$ source ~/.zshrc
才有效。

我通过添加下面的别名使其自动工作,但我想知道是否有更好的方法使其自动工作?

alias venv='source ./venv/bin/activate; source ~/.zshrc'
alias deactivate='deactivate; source ~/.zshrc'
python bash zsh prompt python-venv
1个回答
0
投票

对于您的情况,也许一个简单的方法是将提示定义为

vprompt='%F{green}(venv)%f' # Prefix for venv prompt
PROMPT='${VIRTUAL_ENV+$vprompt}'$PROMPT

如果在评估提示期间设置了 VIRTUAL_ENV,则

+
会导致 $vprompt 打印在原始提示前面。如果未设置 VIRTUAL_ENV,则不会打印任何内容,并且您只会收到原始提示。

© www.soinside.com 2019 - 2024. All rights reserved.