pyenv verification source
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
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
This commit is contained in:
16
pyenv.d/exec/pip-rehash.bash
Normal file
16
pyenv.d/exec/pip-rehash.bash
Normal file
@@ -0,0 +1,16 @@
|
||||
PYENV_PIP_REHASH_ROOT="${BASH_SOURCE[0]%/*}/pip-rehash"
|
||||
PYENV_REHASH_COMMAND="${PYENV_COMMAND##*/}"
|
||||
|
||||
# Remove any version information, from e.g. "pip2" or "pip3.10".
|
||||
if [[ $PYENV_REHASH_COMMAND =~ ^(pip|easy_install)[23](\.[0-9]+)?$ ]]; then
|
||||
PYENV_REHASH_COMMAND="${BASH_REMATCH[1]}"
|
||||
# Check for ` -m pip ` in arguments
|
||||
elif [[ "$*" =~ [[:space:]]-m[[:space:]]pip[[:space:]] ]]; then
|
||||
PYENV_REHASH_COMMAND="pip"
|
||||
fi
|
||||
|
||||
if [ -x "${PYENV_PIP_REHASH_ROOT}/${PYENV_REHASH_COMMAND}" ]; then
|
||||
PYENV_COMMAND_PATH="${PYENV_PIP_REHASH_ROOT}/${PYENV_REHASH_COMMAND##*/}"
|
||||
PYENV_BIN_PATH="${PYENV_PIP_REHASH_ROOT}"
|
||||
export PYENV_REHASH_REAL_COMMAND="${PYENV_COMMAND##*/}"
|
||||
fi
|
||||
29
pyenv.d/exec/pip-rehash/conda
Executable file
29
pyenv.d/exec/pip-rehash/conda
Executable file
@@ -0,0 +1,29 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
[ -n "$PYENV_DEBUG" ] && set -x
|
||||
|
||||
# Remove pyenv-pip-rehash/libexec from PATH to avoid infinite loops in `pyenv-which` (yyuu/pyenv#146)
|
||||
_PATH=":${PATH}:"
|
||||
_HERE="$(dirname "${BASH_SOURCE[0]}")" # remove this from PATH
|
||||
_PATH="${_PATH//:${_HERE}:/:}"
|
||||
_PATH="${_PATH#:}"
|
||||
_PATH="${_PATH%:}"
|
||||
PATH="${_PATH}"
|
||||
|
||||
PYENV_COMMAND_PATH="$(pyenv-which "${PYENV_REHASH_REAL_COMMAND}")"
|
||||
PYENV_BIN_PATH="${PYENV_COMMAND_PATH%/*}"
|
||||
|
||||
export PATH="${PYENV_BIN_PATH}:${PATH}"
|
||||
|
||||
STATUS=0
|
||||
"$PYENV_COMMAND_PATH" "$@" || STATUS="$?"
|
||||
|
||||
# Run `pyenv-rehash` after a successful installation.
|
||||
if [ "$STATUS" == "0" ]; then
|
||||
case "$1" in
|
||||
"install" | "remove" | "uninstall") pyenv-rehash;;
|
||||
esac
|
||||
fi
|
||||
|
||||
exit "$STATUS"
|
||||
27
pyenv.d/exec/pip-rehash/easy_install
Executable file
27
pyenv.d/exec/pip-rehash/easy_install
Executable file
@@ -0,0 +1,27 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
[ -n "$PYENV_DEBUG" ] && set -x
|
||||
|
||||
# Remove pyenv-pip-rehash/libexec from PATH to avoid infinite loops in `pyenv-which` (yyuu/pyenv#146)
|
||||
_PATH=":${PATH}:"
|
||||
_HERE="$(dirname "${BASH_SOURCE[0]}")" # remove this from PATH
|
||||
_PATH="${_PATH//:${_HERE}:/:}"
|
||||
_PATH="${_PATH#:}"
|
||||
_PATH="${_PATH%:}"
|
||||
PATH="${_PATH}"
|
||||
|
||||
PYENV_COMMAND_PATH="$(pyenv-which "${PYENV_REHASH_REAL_COMMAND}")"
|
||||
PYENV_BIN_PATH="${PYENV_COMMAND_PATH%/*}"
|
||||
|
||||
export PATH="${PYENV_BIN_PATH}:${PATH}"
|
||||
|
||||
STATUS=0
|
||||
"$PYENV_COMMAND_PATH" "$@" || STATUS="$?"
|
||||
|
||||
# Run `pyenv-rehash` after a successful installation.
|
||||
if [ "$STATUS" == "0" ]; then
|
||||
pyenv-rehash
|
||||
fi
|
||||
|
||||
exit "$STATUS"
|
||||
31
pyenv.d/exec/pip-rehash/pip
Executable file
31
pyenv.d/exec/pip-rehash/pip
Executable file
@@ -0,0 +1,31 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
[ -n "$PYENV_DEBUG" ] && set -x
|
||||
|
||||
# Remove pyenv-pip-rehash/libexec from PATH to avoid infinite loops in `pyenv-which` (yyuu/pyenv#146)
|
||||
_PATH=":${PATH}:"
|
||||
_HERE="$(dirname "${BASH_SOURCE[0]}")" # remove this from PATH
|
||||
_PATH="${_PATH//:${_HERE}:/:}"
|
||||
_PATH="${_PATH#:}"
|
||||
_PATH="${_PATH%:}"
|
||||
PATH="${_PATH}"
|
||||
|
||||
PYENV_COMMAND_PATH="$(pyenv-which "${PYENV_REHASH_REAL_COMMAND}")"
|
||||
PYENV_BIN_PATH="${PYENV_COMMAND_PATH%/*}"
|
||||
|
||||
export PATH="${PYENV_BIN_PATH}:${PATH}"
|
||||
|
||||
STATUS=0
|
||||
"$PYENV_COMMAND_PATH" "$@" || STATUS="$?"
|
||||
|
||||
# Run `pyenv-rehash` after a successful installation.
|
||||
if [ "$STATUS" == "0" ]; then
|
||||
for piparg in "$@"; do
|
||||
case ${piparg} in
|
||||
"install" | "uninstall" ) pyenv-rehash ; break;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
|
||||
exit "$STATUS"
|
||||
25
pyenv.d/install/latest.bash
Normal file
25
pyenv.d/install/latest.bash
Normal file
@@ -0,0 +1,25 @@
|
||||
pyenv_install_resolve_latest() {
|
||||
local DEFINITION_PREFIX DEFINITION_TYPE
|
||||
local -a DEFINITION_CANDIDATES
|
||||
local DEFINITION="$1"
|
||||
|
||||
DEFINITION_PREFIX="${DEFINITION%%:*}"
|
||||
DEFINITION_TYPE="${DEFINITION_PREFIX%%-*}" # TODO: support non-CPython versions
|
||||
if [[ "${DEFINITION}" != "${DEFINITION_PREFIX}" ]]; then
|
||||
DEFINITION_CANDIDATES=(\
|
||||
$(python-build --definitions | \
|
||||
grep -F "${DEFINITION_PREFIX}" | \
|
||||
grep "^${DEFINITION_TYPE}" | \
|
||||
sed -E -e '/-dev$/d' -e '/-src$/d' -e '/(b|rc)[0-9]+$/d' -e '/[0-9]+t$/d' | \
|
||||
sort -t. -k1,1r -k 2,2nr -k 3,3nr \
|
||||
|| true))
|
||||
DEFINITION="${DEFINITION_CANDIDATES}"
|
||||
fi
|
||||
echo "$DEFINITION"
|
||||
}
|
||||
|
||||
for i in ${!DEFINITIONS[*]}; do
|
||||
DEFINITIONS[$i]="$(pyenv_install_resolve_latest "${DEFINITIONS[$i]}")"
|
||||
done
|
||||
|
||||
unset pyenv_install_resolve_latest
|
||||
72
pyenv.d/rehash/conda.bash
Normal file
72
pyenv.d/rehash/conda.bash
Normal file
@@ -0,0 +1,72 @@
|
||||
# Anaconda comes with binaries of system packages (e.g. `openssl`, `curl`).
|
||||
# Creating shims for those binaries will prevent pyenv users to run those
|
||||
# commands normally when not using Anaconda.
|
||||
#
|
||||
# This hooks is intended to skip creating shims for those executables.
|
||||
|
||||
conda_exists() {
|
||||
shopt -s dotglob nullglob
|
||||
local condas=($(echo "${PYENV_ROOT}/versions/"*"/bin/conda" "${PYENV_ROOT}/versions/"*"/envs/"*"/bin/conda"))
|
||||
shopt -u dotglob nullglob
|
||||
[ -n "${condas}" ]
|
||||
}
|
||||
|
||||
if conda_exists; then
|
||||
|
||||
# Reads the list of `blacklisted` conda binaries
|
||||
# from `conda.d/default.list` and creates a function
|
||||
# `conda_shim` to skip creating shims for those binaries.
|
||||
build_conda_exclusion_list() {
|
||||
shims=()
|
||||
for shim in $(sed 's/#.*$//; /^[[:space:]]*$/d' "${BASH_SOURCE%/*}/conda.d/default.list"); do
|
||||
if [ -n "${shim##*/}" ]; then
|
||||
shims[${#shims[*]}]="${shim})return 0;;"
|
||||
fi
|
||||
done
|
||||
eval \
|
||||
"conda_shim() {
|
||||
case \"\${1##*/}\" in
|
||||
${shims[@]}
|
||||
*) return 1;;
|
||||
esac
|
||||
}"
|
||||
}
|
||||
|
||||
# override `make_shims` to avoid conflict between pyenv-virtualenv's `envs.bash`
|
||||
# https://github.com/pyenv/pyenv-virtualenv/blob/v20160716/etc/pyenv.d/rehash/envs.bash
|
||||
# The only difference between this `make_shims` and the `make_shims` defined
|
||||
# in `libexec/pyenv-rehash` is that this one calls `conda_shim` to check
|
||||
# if shim is blacklisted. If blacklisted -> skip creating shim.
|
||||
make_shims() {
|
||||
local file shim
|
||||
for file do
|
||||
shim="${file##*/}"
|
||||
if ! conda_shim "${shim}" 1>&2; then
|
||||
register_shim "$shim"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
deregister_conda_shims() {
|
||||
# adapted for Bash 4.x's associative array (#1749)
|
||||
if declare -p registered_shims 2> /dev/null | grep -Eq '^(declare|typeset) -A'; then
|
||||
for shim in ${!registered_shims[*]}; do
|
||||
if conda_shim "${shim}" 1>&2; then
|
||||
unset registered_shims[${shim}]
|
||||
fi
|
||||
done
|
||||
else
|
||||
local shim
|
||||
local shims=()
|
||||
for shim in ${registered_shims}; do
|
||||
if ! conda_shim "${shim}" 1>&2; then
|
||||
shims[${#shims[*]}]="${shim}"
|
||||
fi
|
||||
done
|
||||
registered_shims=" ${shims[@]} "
|
||||
fi
|
||||
}
|
||||
|
||||
build_conda_exclusion_list
|
||||
deregister_conda_shims
|
||||
fi
|
||||
3
pyenv.d/rehash/conda.d/.gitignore
vendored
Normal file
3
pyenv.d/rehash/conda.d/.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
*
|
||||
!/.gitignore
|
||||
!/default.list
|
||||
195
pyenv.d/rehash/conda.d/default.list
Normal file
195
pyenv.d/rehash/conda.d/default.list
Normal file
@@ -0,0 +1,195 @@
|
||||
bunzip2
|
||||
clear
|
||||
# curl
|
||||
curl
|
||||
curl-config
|
||||
# fontconfig
|
||||
fc-cache
|
||||
fc-cat
|
||||
fc-list
|
||||
fc-match
|
||||
fc-pattern
|
||||
fc-query
|
||||
fc-scan
|
||||
fc-validate
|
||||
# freetype
|
||||
freetype-config
|
||||
# libglib2.0-bin
|
||||
gapplication
|
||||
gdbus
|
||||
gresource
|
||||
gsettings
|
||||
gio-querymodules
|
||||
glib-compile-resources
|
||||
glib-compile-schemas
|
||||
infocmp
|
||||
# libpng
|
||||
libpng-config
|
||||
# libxml2
|
||||
xml2-config
|
||||
# libxml2-utils
|
||||
xmlcatalog
|
||||
xmllint
|
||||
# ncurses
|
||||
tput
|
||||
# openssl
|
||||
openssl
|
||||
# qtchooser
|
||||
assistant
|
||||
designer
|
||||
lconvert
|
||||
linguist
|
||||
lrelease
|
||||
lupdate
|
||||
moc
|
||||
pixeltool
|
||||
qcollectiongenerator
|
||||
qdbus
|
||||
qdbuscpp2xml
|
||||
qdbusviewer
|
||||
qdbusxml2cpp
|
||||
qhelpconverter
|
||||
qhelpgenerator
|
||||
qmake
|
||||
qmlplugindump
|
||||
qmlviewer
|
||||
qtconfig
|
||||
rcc
|
||||
uic
|
||||
xmlpatterns
|
||||
xmlpatternsvalidator
|
||||
# redis
|
||||
redis-benchmark
|
||||
redis-check-aof
|
||||
redis-check-dump
|
||||
redis-cli
|
||||
redis-server
|
||||
# sed
|
||||
sed
|
||||
# sqlite3
|
||||
sqlite3
|
||||
# xslt-config
|
||||
xslt-config
|
||||
# xsltproc
|
||||
xsltproc
|
||||
# xz
|
||||
unxz
|
||||
xz
|
||||
xzcat
|
||||
xzcmd
|
||||
xzdiff
|
||||
xzegrep
|
||||
xzfgrep
|
||||
xzgrep
|
||||
xzless
|
||||
xzmore
|
||||
reset
|
||||
# --- start exclusions from coreutils
|
||||
[
|
||||
b2sum
|
||||
base32
|
||||
base64
|
||||
basename
|
||||
basenc
|
||||
cat
|
||||
chcon
|
||||
chgrp
|
||||
chmod
|
||||
chown
|
||||
chroot
|
||||
cksum
|
||||
comm
|
||||
cp
|
||||
csplit
|
||||
cut
|
||||
date
|
||||
dd
|
||||
df
|
||||
dir
|
||||
dircolors
|
||||
dirname
|
||||
du
|
||||
echo
|
||||
env
|
||||
expand
|
||||
expr
|
||||
factor
|
||||
false
|
||||
fmt
|
||||
fold
|
||||
greadlink
|
||||
groups
|
||||
head
|
||||
hostid
|
||||
id
|
||||
install
|
||||
join
|
||||
kill
|
||||
link
|
||||
ln
|
||||
logname
|
||||
ls
|
||||
md5sum
|
||||
mkdir
|
||||
mkfifo
|
||||
mknod
|
||||
mktemp
|
||||
mv
|
||||
nice
|
||||
nl
|
||||
nohup
|
||||
nproc
|
||||
numfmt
|
||||
od
|
||||
paste
|
||||
pathchk
|
||||
pinky
|
||||
pr
|
||||
printenv
|
||||
printf
|
||||
ptx
|
||||
pwd
|
||||
readlink
|
||||
realpath
|
||||
rm
|
||||
rmdir
|
||||
runcon
|
||||
seq
|
||||
sha1sum
|
||||
sha224sum
|
||||
sha256sum
|
||||
sha384sum
|
||||
sha512sum
|
||||
shred
|
||||
shuf
|
||||
sleep
|
||||
sort
|
||||
split
|
||||
stat
|
||||
stdbuf
|
||||
stty
|
||||
sum
|
||||
sync
|
||||
tac
|
||||
tail
|
||||
tee
|
||||
test
|
||||
timeout
|
||||
touch
|
||||
tr
|
||||
true
|
||||
truncate
|
||||
tsort
|
||||
tty
|
||||
uname
|
||||
unexpand
|
||||
uniq
|
||||
unlink
|
||||
uptime
|
||||
users
|
||||
vdir
|
||||
wc
|
||||
who
|
||||
whoami
|
||||
yes
|
||||
# --- end exclusions from coreutils
|
||||
31
pyenv.d/rehash/source.bash
Normal file
31
pyenv.d/rehash/source.bash
Normal file
@@ -0,0 +1,31 @@
|
||||
PROTOTYPE_SOURCE_SHIM_PATH="${SHIM_PATH}/.pyenv-source-shim"
|
||||
|
||||
shims=()
|
||||
shopt -s nullglob
|
||||
for shim in $(sort -u "${BASH_SOURCE%/*}/source.d/"*".list" | sed -e 's/#.*$//' -e '/^[[:space:]]*$/d'); do
|
||||
if [ -n "${shim##*/}" ]; then
|
||||
shims[${#shims[*]}]="${shim})return 0;;"
|
||||
fi
|
||||
done
|
||||
shopt -u nullglob
|
||||
eval "source_shim(){ case \"\${1##*/}\" in ${shims[@]} *)return 1;;esac;}"
|
||||
|
||||
cat > "${PROTOTYPE_SOURCE_SHIM_PATH}" <<SH
|
||||
[ -n "\$PYENV_DEBUG" ] && set -x
|
||||
export PYENV_ROOT="${PYENV_ROOT}"
|
||||
program="\$("$(command -v pyenv)" which "\${BASH_SOURCE##*/}")"
|
||||
if [ -e "\${program}" ]; then
|
||||
. "\${program}" "\$@"
|
||||
fi
|
||||
SH
|
||||
chmod +x "${PROTOTYPE_SOURCE_SHIM_PATH}"
|
||||
|
||||
shopt -s nullglob
|
||||
for shim in "${SHIM_PATH}/"*; do
|
||||
if source_shim "${shim}"; then
|
||||
cp "${PROTOTYPE_SOURCE_SHIM_PATH}" "${shim}"
|
||||
fi
|
||||
done
|
||||
shopt -u nullglob
|
||||
|
||||
rm -f "${PROTOTYPE_SOURCE_SHIM_PATH}"
|
||||
3
pyenv.d/rehash/source.d/.gitignore
vendored
Normal file
3
pyenv.d/rehash/source.d/.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
*
|
||||
!/.gitignore
|
||||
!/default.list
|
||||
7
pyenv.d/rehash/source.d/default.list
Normal file
7
pyenv.d/rehash/source.d/default.list
Normal file
@@ -0,0 +1,7 @@
|
||||
# virtualenv
|
||||
activate
|
||||
activate.csh
|
||||
activate.fish
|
||||
activate.nu
|
||||
# gettext (#688)
|
||||
gettext.sh
|
||||
Reference in New Issue
Block a user