Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I'm using virtualenv, virtualenvwrapper, zsh, oh-my-zsh, terminator, on Crunchbang.

I'm trying to display the name of the current virtualenv like so

workon example
(example)... 

I've tried many solutions none seems to work, here's my .zshrc file, I know it's no big deal to fix it but I can't find the right solution. It has been a long time since the last time I used Linux for Django development, I forgot what I used to do.

Right now, I see username@crunchbang, I can't tell which virtualenv I'm using.

share|improve this question
    
I believe you're asking how to set your prompt so that it shows which virtualenv you're in, correct? –  slm Aug 16 '13 at 23:54
    
@slm yes exactly –  Fischer Aug 16 '13 at 23:57
add comment

1 Answer

up vote 2 down vote accepted

Shell's prompt

Inside your virtualenv environment is a file, bin/activate. You can edit this file to change your prompt to whatever you want it to look like. Specifically this section of the file:

...
else
    PS1="(`basename \"$VIRTUAL_ENV\"`)$PS1"
fi
...

The variable PS1 is a special variable that controls what a shell's prompt will look like. Changing its value will change your virtualenv prompt:

PS1="(this is my prompt) "

Example

  1. Create a sample environment.

    $ virtualenv tst-env
    
  2. When you're using virtualenv you typically source this file.

    $ cd $HOME/tst-env
    
    $ source bin/activate
    (tst-env)[saml@grinchy tst-env]$ 
    
  3. After making the above change to the variable PS1 in the bin/activate file my prompt is now this:

    $ source bin/activate
    (tst-env) 
    
share|improve this answer
    
tried it now, didn't fix it –  Fischer Aug 17 '13 at 9:10
    
here's my activate file pastebin.com/tZqdr1Yz –  Fischer Aug 17 '13 at 11:11
    
What happens when you source the activate file? Your file worked fine for me. –  slm Aug 17 '13 at 12:32
    
i see no output, so i can't tell what happens, the virtualenv is working other than that i see nothing, maybe it's .zshrc issue or virtualenvwrapper? can this issue be debugged? please note i have 2 virualenv executable files, the normal virtualenv and virtualenv-2.7 is this normal or did virtualenv got downloaded twice? and this is how i installed virtualenv and virualenvwrapper in case it matters sudo pip install virtualenv –  Fischer Aug 17 '13 at 13:02
    
@Fischer - I just double checked it using zsh and it works with that too, so this is most likely an env. issue. Let's ignore the 2 virtualenv's setups for the time being. To debug you can enable it, set -x, in your shell and then re-run the source activate command again. You should see PS1= lines where the prompt is getting set. –  slm Aug 17 '13 at 14:11
show 19 more comments

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.