From dfc03c7bb664229e9b014728f8ee4bc2220ad9d2 Mon Sep 17 00:00:00 2001 From: Luke Lazurite Date: Tue, 7 Nov 2017 10:57:07 -0500 Subject: [PATCH] optimize load of pyenv with homebrew (#6142) --- plugins/pyenv/pyenv.plugin.zsh | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/plugins/pyenv/pyenv.plugin.zsh b/plugins/pyenv/pyenv.plugin.zsh index aa1f9488a..ec3ae9f5b 100644 --- a/plugins/pyenv/pyenv.plugin.zsh +++ b/plugins/pyenv/pyenv.plugin.zsh @@ -8,9 +8,6 @@ _pyenv-from-homebrew-installed() { FOUND_PYENV=0 pyenvdirs=("$HOME/.pyenv" "/usr/local/pyenv" "/opt/pyenv") -if _homebrew-installed && _pyenv-from-homebrew-installed ; then - pyenvdirs=($(brew --prefix pyenv) "${pyenvdirs[@]}") -fi for pyenvdir in "${pyenvdirs[@]}" ; do if [ -d $pyenvdir/bin -a $FOUND_PYENV -eq 0 ] ; then @@ -30,6 +27,24 @@ for pyenvdir in "${pyenvdirs[@]}" ; do done unset pyenvdir +if [ $FOUND_PYENV -eq 0 ] ; then + pyenvdir=$(brew --prefix pyenv 2> /dev/null) + if [ $? -eq 0 -a -d $pyenvdir/bin ] ; then + FOUND_PYENV=1 + export PYENV_ROOT=$pyenvdir + export PATH=${pyenvdir}/bin:$PATH + eval "$(pyenv init - zsh)" + + if pyenv commands | command grep -q virtualenv-init; then + eval "$(pyenv virtualenv-init - zsh)" + fi + + function pyenv_prompt_info() { + echo "$(pyenv version-name)" + } + fi +fi + if [ $FOUND_PYENV -eq 0 ] ; then function pyenv_prompt_info() { echo "system: $(python -V 2>&1 | cut -f 2 -d ' ')" } fi