diff --git a/libexec/pyenv b/libexec/pyenv index 4147d780..93debeae 100755 --- a/libexec/pyenv +++ b/libexec/pyenv @@ -94,7 +94,10 @@ export PYENV_DIR shopt -s nullglob bin_path="$(abs_dirname "$0")" -for plugin_bin in "${PYENV_ROOT}/plugins/"*/bin; do +for plugin_bin in "${bin_path%/*}"/plugins/*/bin; do + PATH="${plugin_bin}:${PATH}" +done +for plugin_bin in "${PYENV_ROOT}"/plugins/*/bin; do PATH="${plugin_bin}:${PATH}" done export PATH="${bin_path}:${PATH}" diff --git a/test/pyenv.bats b/test/pyenv.bats index d1610728..e7e8b419 100644 --- a/test/pyenv.bats +++ b/test/pyenv.bats @@ -48,7 +48,7 @@ load test_helper @test "adds its own libexec to PATH" { run pyenv echo "PATH" - assert_success "${BATS_TEST_DIRNAME%/*}/libexec:$PATH" + assert_success "${BATS_TEST_DIRNAME%/*}/libexec:${BATS_TEST_DIRNAME%/*}/plugins/python-build/bin:$PATH" } @test "adds plugin bin dirs to PATH" { @@ -59,6 +59,7 @@ load test_helper assert_line 0 "${BATS_TEST_DIRNAME%/*}/libexec" assert_line 1 "${PYENV_ROOT}/plugins/python-build/bin" assert_line 2 "${PYENV_ROOT}/plugins/pyenv-each/bin" + assert_line 3 "${BATS_TEST_DIRNAME%/*}/plugins/python-build/bin" } @test "PYENV_HOOK_PATH preserves value from environment" {