Python virtualenvwrapper 和 ZSH 提示符

Python virtualenvwrapper 和 ZSH 提示符

我将 archlinux 与 zsh 和 python 一起使用

simha@gauranga ~ % echo $SHELL
/usr/bin/zsh

simha@gauranga ~ % python3 --version
Python 3.5.1

我的 .zshrc 是

export WORKON_HOME=~/.virtualenvs
source /usr/bin/virtualenvwrapper.sh

一旦我打开一个新终端

我可以通过以下方式创建一个新的 virtualenv。 (simha 是主文件夹名称,gauranga 是计算机名称)

simha@gauranga ~ % mkvirtualenv new2
Using base prefix '/usr'
New python executable in /home/simha/.virtualenvs/new3/bin/python3
Also creating executable in /home/simha/.virtualenvs/new3/bin/python
Installing setuptools, pip, wheel...done.
virtualenvwrapper.user_scripts creating /home/simha/.virtualenvs/new3/bin/predeactivate
virtualenvwrapper.user_scripts creating /home/simha/.virtualenvs/new3/bin/postdeactivate
virtualenvwrapper.user_scripts creating /home/simha/.virtualenvs/new3/bin/preactivate
virtualenvwrapper.user_scripts creating /home/simha/.virtualenvs/new3/bin/postactivate
virtualenvwrapper.user_scripts creating /home/simha/.virtualenvs/new3/bin/get_env_details

现在我正在进入virtualenv

simha@gauranga ~ % workon new3
simha@gauranga ~ %

如果我们看到上面的提示,则显示 am 中的哪个 env 没有变化。

我已遵循http://virtualenvwrapper.readthedocs.io/en/latest/tips.html对于 zsh 提示符仍然不起作用

以下是 postactivate 和 postdeactivate 文件

simha@gauranga ~ % tail -f .virtualenvs/postactivate .virtualenvs/postdeactivate
==> .virtualenvs/postactivate <==
PS1="$_OLD_VIRTUAL_PS1"
_OLD_RPROMPT="$RPROMPT"
RPROMPT="%{${fg_bold[white]}%}(env: %{${fg[green]}%}`basename \"$VIRTUAL_ENV\"`%{${fg_bold[white]}%})%{${reset_color}%} $RPROMPT"

==> .virtualenvs/postdeactivate <==
RPROMPT="$_OLD_RPROMPT"

答案1

如果您正在使用格罗姆zsh config,这是ArchLinux的默认配置,那么你需要在你的〜/.zshrc文件。

Grml 当前的设置使用提示主题,它使用提示变量 PS1。 PS1 由 virtualenv 用于显示当前活动的虚拟环境。如果 virtualenv 更改 PS1 变量,主题代码会将其更改回当前主题的值。

添加:

源 /usr/bin/virtualenvwrapper.sh
导出 WORKON_HOME=~/.virtualenvs
函数 virtual_env_prompt () {
REPLY=${VIRTUAL_ENV+(${VIRTUAL_ENV:t}) }
}
grml_theme_add_token virtual-env -f virtual_env_prompt '%F{magenta}' '%f'
zstyle ':prompt:grml:left:setup' 项目 rc virtual-env change-root 用户在主机路径 vcs 百分比

给你的.zshrc文件应该可以解决问题。

措辞及答案来源:
http://bewatermyfriend.org/p/2013/003/

编辑:措辞和拼写

相关内容