如何显示当前 Virtualenv 的名称?

Lyn*_*nob 27 zsh python oh-my-zsh virtualenv

我在 Crunchbang 上使用virtualenv, virtualenvwrapper, zsh, oh-my-zsh, 终止符。

我正在尝试virtualenv像这样显示当前的名称

workon example
(example)... 
Run Code Online (Sandbox Code Playgroud)

我尝试了很多解决方案,但似乎都不起作用,这是我的 .zshrc文件,我知道修复它没什么大不了的,但我找不到正确的解决方案。自从上次使用Linux进行Django开发已经很久了,我忘记了我曾经做过的事情。

现在,我明白了username@crunchbang,我不知道我使用的是哪个 virtualenv。

slm*_*slm 15

Shell的提示

在您的virtualenv环境中有一个文件bin/activate. 您可以编辑此文件以将提示更改为您想要的任何外观。特别是文件的这一部分:

...
else
    PS1="(`basename \"$VIRTUAL_ENV\"`)$PS1"
fi
...
Run Code Online (Sandbox Code Playgroud)

该变量PS1是一个特殊的变量,用于控制 shell 的提示外观。更改其值将更改您的virtualenv提示:

PS1="(this is my prompt) "
Run Code Online (Sandbox Code Playgroud)

例子

  1. 创建示例环境。

    $ virtualenv tst-env
    
    Run Code Online (Sandbox Code Playgroud)
  2. 当您使用时,virtualenv您通常会获取此文件。

    $ cd $HOME/tst-env
    
    $ source bin/activate
    (tst-env)[saml@grinchy tst-env]$ 
    
    Run Code Online (Sandbox Code Playgroud)
  3. PS1bin/activate文件中的变量进行上述更改后,我的提示现在是这样的:

    $ source bin/activate
    (tst-env)
    
    Run Code Online (Sandbox Code Playgroud)

以下是有关如何执行此操作的官方说明