Когда я устанавливаю pyenv + pyenv-virtualenv, они, казалось, автоматически добавляли имя текущей версии Python или имя pyvenv/virtualenv в командную строку. здорово, очень полезно.
if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi
if which pyenv-virtualenv-init > /dev/null; then eval "$(pyenv virtualenv-init -)"; fi
Я добавил git-completion.bash и < href="https://github.com/git/git/blob/master/contrib/completion/git-prompt.sh" rel="nofollow">git-prompt.sh в мой файл ~/. bash_profile с
# Enable tab completion
source ~/.git-completion.bash
# colors!
red="\[\033[1;31,\]"
green="\[\033[0;32m\]"
blue="\[\033[0;34m\]"
purple="\[\033[0;35m\]"
cyan="\[\033[1;36m\]"
reset="\[\033[0m\]"
# Change command prompt
source ~/.git-prompt.sh
export GIT_PS1_SHOWDIRTYSTATE=1
# '\u' adds the name of the current user to the prompt
# '\$(__git_ps1)' adds git-related stuff
# '\W' adds the name of the current directory
export PS1="$purple\u $cyan>>>$green\$(__git_ps1)$blue \W \$ $reset"
Независимо от порядка, pyenv не включается в подсказку. Я надеялся, что pyenv просто привязывается к тому, что строка подсказки была установлена так, что включение ее после материала git позволит ему вставить себя.
Я попытался включить код pyenv над материалом git, а затем захватить вывод $pyenv local
и добавить его как переменную, но мои навыки работы с Bash недостаточны. Я искал в коде pyenv код экспорта приглашения оболочки, но опять же, нужны навыки Bash.
Есть ли правильный способ вернуть/вставить версию pyenv обратно в приглашение?
Я пытался получить что-то вроде:
\u(username) >>> (pyenv/py(venv)-version) | (__git_ps1) | \w(pwd) \$
Спасибо,