pyenv.plugin.zsh 847 Bytes
Newer Older
Stig Sandbeck Mathisen's avatar
Stig Sandbeck Mathisen committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
_homebrew-installed() {
    type brew &> /dev/null
}

_pyenv-from-homebrew-installed() {
    brew --prefix pyenv &> /dev/null
}

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
        FOUND_PYENV=1
        export PYENV_ROOT=$pyenvdir
        export PATH=${pyenvdir}/bin:$PATH
Arvind Chembarpu's avatar
Arvind Chembarpu committed
20
        eval "$(pyenv init - zsh)"
Arvind Chembarpu's avatar
Arvind Chembarpu committed
21
        eval "$(pyenv virtualenv-init - zsh)"
Stig Sandbeck Mathisen's avatar
Stig Sandbeck Mathisen committed
22
23
24
25
26
27
28
29
30
31
32

        function pyenv_prompt_info() {
            echo "$(pyenv version-name)"
        }
    fi
done
unset pyenvdir

if [ $FOUND_PYENV -eq 0 ] ; then
    function pyenv_prompt_info() { echo "system: $(python -V 2>&1 | cut -f 2 -d ' ')" }
fi