私は公式のGit Bashプロンプトサポートを使用して、プロンプトの一部として現在のブランチを表示します。
python -m venv <dir>
私の問題は、()を使用してPython仮想環境を有効にすると、Bashプロンプトの一部としてsource bin/activate
仮想環境名が表示されないことです。(atlassian-watchdog)
nlykkei:~/projects/atlassian-watchdog (master *)$
inの代わりにwithを使用しているPROMPT_COMMAND
ので失敗しているという感じが強くなります。~/.bashrc
PS1
GIT_PS1_SHOWCOLORHINTS
PROMPT_COMMAND
PROMPT_COMMAND
アクティブ化時にプロンプトに環境名を追加するためにPython仮想環境を使用する方法はありますか?
~/.git-prompt.sh:
# If you would like a colored hint about the current dirty state, set
# GIT_PS1_SHOWCOLORHINTS to a nonempty value. The colors are based on
# the colored output of "git status -sb" and are available only when
# using __git_ps1 for PROMPT_COMMAND or precmd.
ごみ箱/活性化:
if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT:-}" ] ; then
_OLD_VIRTUAL_PS1="${PS1:-}"
if [ "x(atlassian-watchdog) " != x ] ; then
PS1="(atlassian-watchdog) ${PS1:-}"
else
if [ "`basename \"$VIRTUAL_ENV\"`" = "__" ] ; then
# special case for Aspen magic directories
# see http://www.zetadev.com/software/aspen/
PS1="[`basename \`dirname \"$VIRTUAL_ENV\"\``] $PS1"
else
PS1="(`basename \"$VIRTUAL_ENV\"`)$PS1"
fi
fi
export PS1
fi
~/.bashrc:
# git prompt
source ~/.git-prompt.sh
GIT_PS1_SHOWCOLORHINTS=1
PROMPT_COMMAND='__git_ps1 "\u:\w" "\\\$ "'
答え1
解決策はの関連部分をbin/activate
組み合わせることです~/git-prompt.sh
。
仮想環境を含むように最初の引数をラップして変更する関数です__git_ps1_venv()
。__git_ps1()
__git_ps1()
このPS1
変数はプロンプト形式に設定する必要があります。
~/.bashrc
:
##################
# Prompt
##################
__git_ps1_venv() {
local pre="$1"
local post="$2"
if [ -n "${VIRTUAL_ENV}" ] && [ -z "${VIRTUAL_ENV_DISABLE_PROMPT:-}" ]; then
if [ "`basename \"$VIRTUAL_ENV\"`" = "__" ] ; then
# special case for Aspen magic directories
# see http://www.zetadev.com/software/aspen/
pre="[`basename \`dirname \"$VIRTUAL_ENV\"\``] ${pre}"
else
pre="(`basename \"$VIRTUAL_ENV\"`) ${pre}"
fi
fi
__git_ps1 "${pre}" "${post}"
}
PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\W\[\033[00m\]\$ '
if [[ -r ~/.git-prompt.sh ]]; then
. ~/.git-prompt.sh
GIT_PS1_SHOWCOLORHINTS=1
GIT_PS1_SHOWDIRTYSTATE=1
GIT_PS1_SHOWSTASHSTATE=1
GIT_PS1_SHOWUNTRACKEDFILES=1
GIT_PS1_SHOWUPSTREAM="verbose name"
PROMPT_COMMAND='__git_ps1_venv "'"${PS1%\\\$ }"'" "\\\$ "'
fi