当我设置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内容之后包含它,这样它就可以插入自己。
我曾尝试在git内容之上包含pyenv代码,然后捕获$pyenv local输出并将其作为变量添加,但我的Bash技能还不够。我在pyenv代码中寻找shell提示导出代码,但同样,Bash技能是不够的。
是否有正确的方法将pyenv版本重新捕获/插入到提示符中?
我正在尝试得到一些类似的东西:
\u(username) >>> (pyenv/py(venv)-version) | (__git_ps1) | \w(pwd) \$谢谢,
发布于 2016-04-11 22:08:37
只需将$(pyenv version-name)放入$PS1中的适当位置即可。类似于:
export PS1="\u >>> $(pyenv version-name) $(__git_ps1) \w\$ "(根据需要重新添加颜色。)
https://stackoverflow.com/questions/34123927
复制相似问题