내가 사용하고 virtualenv, virtualenvwrapper, zsh, oh-my-zshCrunchbang에, 종결.
나는 현재의 이름을 표시하기 위해 노력하고있어 virtualenv지금과 같은를
workon example
(example)... 
나는 많은 해결책을 시도했지만 아무도 효과가없는 것 같습니다. 여기에 내 .zshrc 파일이 있습니다.이 문제를 해결하는 데 큰 도움이되지 않지만 올바른 해결책을 찾을 수 없다는 것을 알고 있습니다. Django 개발을 위해 Linux를 마지막으로 사용한 이후로 오랜 시간이 걸렸습니다.
지금은 username@crunchbang내가 사용하고있는 virtualenv를 알 수 없습니다.
답변
쉘의 프롬프트
virtualenv환경 내부 에는 파일이 bin/activate있습니다. 이 파일을 편집하여 프롬프트를 원하는대로 변경할 수 있습니다. 특히 파일의이 섹션 :
...
else
    PS1="(`basename \"$VIRTUAL_ENV\"`)$PS1"
fi
...
변수 PS1는 쉘 프롬프트가 표시되는 것을 제어하는 특수 변수입니다. 값을 변경하면 virtualenv프롬프트 가 변경 됩니다.
PS1="(this is my prompt) "
예
- 
샘플 환경을 작성하십시오.
$ virtualenv tst-env - 
사용
virtualenv하는 경우 일반적으로이 파일을 소싱합니다.$ cd $HOME/tst-env $ source bin/activate (tst-env)[saml@grinchy tst-env]$ - 
파일 의 변수
PS1를 위와 같이 변경하면bin/activate내 프롬프트는 다음과 같습니다.$ source bin/activate (tst-env) 
답변
당신이 사용하는 경우 virtualenvwrapper와 zsh당신의 zsh을 후크의 숫자가 ~/.virtualenvs/당신이 당신의 환경을 사용자 정의하는 데 사용할 수있는 디렉토리. 여기 에 관한 약간의 정보가 있습니다. 다음 PS1을 추가하여 현재 작업 virtualenv을 쉘 프롬프트 앞에 추가 하도록 업데이트를 강제 실행할 수 있습니다 .
_OLD_VIRTUAL_PS1=$PS1
PS1="(`basename \"$VIRTUAL_ENV\"`) $PS1"
builtin \export PS1
에 ~/.virtualenvs/postactivate. 의 태그를 제거하려면 다음 deactivate을 추가하십시오.
PS1=$_OLD_VIRTUAL_PS1
builtin export PS1
에 ~/.virtualenvs/postdeactivate
이 작업을 중단해야하는 유일한 (그럴듯한) 것은 자원 지원되는 ~/.zshrcA의 작업하는 동안virtualenv
답변
을 편집 할 필요는 없습니다 ~/.zshrc.
작업 virtualenvwrapper중이므로 $WORKON_HOME/post(de)activate파일에 옵션 또는 후크를 추가 할 수 있습니다.
위의 링크를 통해 다음 작업을 수행 할 수 있습니다.
내 경우에는 $WORKON_HOME=~/Envsvirtualenvwrapper를 설치할 때이 경로를 수정했기 때문입니다. 그렇지 않은 경우 폴더가 있어야합니다 ~/.virtualenvs.
- 
에
postactivate위치한 파일을 엽니 다$WORKON_HOME - 
다음 줄을 추가하십시오.
PS1="$_OLD_VIRTUAL_PS1" _OLD_RPROMPT="$RPROMPT" RPROMPT="%{${fg_bold[white]}%}(env: %{${fg[green]}%}`basename \"$VIRTUAL_ENV\"`%{${fg_bold[white]}%})%{${reset_color}%} $RPROMPT" - 
저장하고 즐기십시오!
 - 
(선택 사항)
postdeactivate파일을 편집하여 다음 줄을 추가 할 수 있습니다.RPROMPT="$_OLD_RPROMPT" 
답변
방금 우분투 14.04에서 테스트했으며 동일한 문제가 발생했습니다. 이 문제를 해결하려면 .zshrc에 추가하십시오.
source /usr/share/virtualenvwrapper/virtualenvwrapper.sh
또는 이것을 터미널에서 실행하십시오.
echo source /usr/share/virtualenvwrapper/virtualenvwrapper.sh >> ~/.zshrc
Mac OS XI에서는
echo source /usr/local/bin/virtualenvwrapper.sh >> ~/.zshrc
답변
사용중인 테마를 아는 경우 활성화 된 VIRTUAL_ENV 기본 이름을 검색하는 기능을 추가하여 ~ / .oh -my-zsh / themes / 에있는 * .zsh-theme 파일 의 PROMPT 변수에서 사용할 수 있습니다. 그 트릭을해야합니다!
나를 위해 그것은 기본 ‘oh-my-zsh’테마, 즉 구성된 ‘robbyrussels’ 였습니다.
function virtualenv_info {
    [ $VIRTUAL_ENV ] && echo '('`basename $VIRTUAL_ENV`') '
}
local ret_status="%(?:%{$fg_bold[green]%}➜ :%{$fg_bold[red]%}➜ )"
PROMPT='${ret_status} $(virtualenv_info) %{$fg[cyan]%}%c%{$reset_color%} $(git_prompt_info)'
위의 코드를 추가하면 아래 결과가 생성됩니다.
(kunkka.com) 은 방금 비활성화 한 virtualenv입니다.
테마 파일을 편집 한 후에는 .zshrc 파일을 제공하는 것을 잊지 마십시오.
-> source ~/.zshrc

