激活虚拟环境时自定义venv提示不更新
我尝试通过在我的 .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'
1 个回答
0
也许对你的情况来说,一个简单的方法是把提示定义成这样:
vprompt='%F{green}(venv)%f' # Prefix for venv prompt
PROMPT='${VIRTUAL_ENV+$vprompt}'$PROMPT
如果在提示评估时设置了VIRTUAL_ENV,那么+
会让$vprompt显示在你原来的提示前面。如果没有设置VIRTUAL_ENV,就什么都不会显示,你只会看到你原来的提示。