Some checks are pending
macos_build / macos_build (3.10) (push) Waiting to run
macos_build / macos_build (3.11) (push) Waiting to run
macos_build / macos_build (3.12) (push) Waiting to run
macos_build / macos_build (3.13) (push) Waiting to run
macos_build / macos_build (3.14) (push) Waiting to run
pyenv_tests / pyenv_tests (macos-14) (push) Waiting to run
pyenv_tests / pyenv_tests (macos-15) (push) Waiting to run
pyenv_tests / pyenv_tests (macos-15-intel) (push) Waiting to run
pyenv_tests / pyenv_tests (macos-26) (push) Waiting to run
pyenv_tests / pyenv_tests (ubuntu-22.04) (push) Waiting to run
pyenv_tests / pyenv_tests (ubuntu-24.04) (push) Waiting to run
ubuntu_build / ubuntu_build (3.10) (push) Waiting to run
ubuntu_build / ubuntu_build (3.11) (push) Waiting to run
ubuntu_build / ubuntu_build (3.12) (push) Waiting to run
ubuntu_build / ubuntu_build (3.13) (push) Waiting to run
ubuntu_build / ubuntu_build (3.14) (push) Waiting to run
39 lines
769 B
Bash
Executable File
39 lines
769 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Summary: List all Python versions that contain the given executable
|
|
# Usage: pyenv whence [--path] <command>
|
|
|
|
set -e
|
|
[ -n "$PYENV_DEBUG" ] && set -x
|
|
|
|
# Provide pyenv completions
|
|
if [ "$1" = "--complete" ]; then
|
|
echo --path
|
|
exec pyenv-shims --short
|
|
fi
|
|
|
|
if [ "$1" = "--path" ]; then
|
|
print_paths="1"
|
|
shift
|
|
else
|
|
print_paths=""
|
|
fi
|
|
|
|
whence() {
|
|
local command="$1"
|
|
pyenv-versions --bare | while read -r version; do
|
|
path="$(pyenv-prefix "$version")/bin/${command}"
|
|
if [ -x "$path" ]; then
|
|
[ "$print_paths" ] && echo "$path" || echo "$version"
|
|
fi
|
|
done
|
|
}
|
|
|
|
PYENV_COMMAND="$1"
|
|
if [ -z "$PYENV_COMMAND" ]; then
|
|
pyenv-help --usage whence >&2
|
|
exit 1
|
|
fi
|
|
|
|
result="$(whence "$PYENV_COMMAND")"
|
|
[ -n "$result" ] && echo "$result"
|