내가 사용하고 virtualenv
, virtualenvwrapper
, zsh
, oh-my-zsh
Crunchbang에, 종결.
나는 현재의 이름을 표시하기 위해 노력하고있어 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
이 작업을 중단해야하는 유일한 (그럴듯한) 것은 자원 지원되는 ~/.zshrc
A의 작업하는 동안virtualenv
답변
을 편집 할 필요는 없습니다 ~/.zshrc
.
작업 virtualenvwrapper
중이므로 $WORKON_HOME/post(de)activate
파일에 옵션 또는 후크를 추가 할 수 있습니다.
위의 링크를 통해 다음 작업을 수행 할 수 있습니다.
내 경우에는 $WORKON_HOME=~/Envs
virtualenvwrapper를 설치할 때이 경로를 수정했기 때문입니다. 그렇지 않은 경우 폴더가 있어야합니다 ~/.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