当我设置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和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代码中搜索了shell提示符导出代码,但是再一次,Bash技能很缺乏。
是否有正确的方法将pyenv版本重新插入/插入提示符?
我正试图获得以下内容:
\u(username) >>> (pyenv/py(venv)-version) | (__git_ps1) | \w(pwd) \$
谢谢,
答案 0 :(得分:1)
只需将$(pyenv version-name)
贴在$PS1
的适当位置即可。类似的东西:
export PS1="\u >>> $(pyenv version-name) $(__git_ps1) \w\$ "
(根据需要添加颜色。)