mirror of
https://github.com/pyenv/pyenv.git
synced 2025-11-08 19:43:48 -05:00
Compare commits
65 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2d64fb1cb9 | ||
|
|
a85875c39e | ||
|
|
8db5778b12 | ||
|
|
c7d8a1c33d | ||
|
|
44b7da194b | ||
|
|
b2eb2d28d1 | ||
|
|
8b60418361 | ||
|
|
e9c8dfc197 | ||
|
|
dfeda54079 | ||
|
|
4f8b15fecd | ||
|
|
07609cc579 | ||
|
|
3738c2a282 | ||
|
|
9668be8850 | ||
|
|
dc36c300e1 | ||
|
|
351ddb1095 | ||
|
|
d209e0612b | ||
|
|
825ef64995 | ||
|
|
65588f51d9 | ||
|
|
ab1a9d290c | ||
|
|
b40ef3c698 | ||
|
|
1427f80828 | ||
|
|
9db1193c2a | ||
|
|
1f906baae8 | ||
|
|
cef86ce462 | ||
|
|
52822a3d50 | ||
|
|
afc8031544 | ||
|
|
c435fde088 | ||
|
|
3773dfb4f1 | ||
|
|
abe0056b5f | ||
|
|
fd8854dea1 | ||
|
|
9b6377de23 | ||
|
|
8c251a5e9b | ||
|
|
a6d6ba8050 | ||
|
|
fc7560bcfd | ||
|
|
56fd6c3c51 | ||
|
|
db82c73391 | ||
|
|
d4d66b6183 | ||
|
|
0c287ffcf7 | ||
|
|
af59ef0088 | ||
|
|
ad8807543b | ||
|
|
aad74674cb | ||
|
|
f043f47c35 | ||
|
|
d769f22996 | ||
|
|
56fe98bfed | ||
|
|
041903c640 | ||
|
|
84a6535708 | ||
|
|
93dd6f1163 | ||
|
|
3a5a21ee05 | ||
|
|
ae29f86968 | ||
|
|
f7754ae6a4 | ||
|
|
673c73012d | ||
|
|
20df064204 | ||
|
|
1cce1cadbd | ||
|
|
fc83d32317 | ||
|
|
cb0402214e | ||
|
|
35e0b0e24a | ||
|
|
57f1c3b5b4 | ||
|
|
637fd914dc | ||
|
|
d2bd4c06ef | ||
|
|
5f75198569 | ||
|
|
bbcecc7561 | ||
|
|
e154693dc6 | ||
|
|
1706436fae | ||
|
|
859b260764 | ||
|
|
fadb3f3389 |
1
.github/workflows/ubuntu_tests.yml
vendored
1
.github/workflows/ubuntu_tests.yml
vendored
@@ -12,6 +12,7 @@ jobs:
|
|||||||
- 3.7.10
|
- 3.7.10
|
||||||
- 3.8.10
|
- 3.8.10
|
||||||
- 3.9.5
|
- 3.9.5
|
||||||
|
- 3.10.0rc1
|
||||||
runs-on: Ubuntu-20.04
|
runs-on: Ubuntu-20.04
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
|
|||||||
37
CHANGELOG.md
37
CHANGELOG.md
@@ -1,5 +1,42 @@
|
|||||||
## Version History
|
## Version History
|
||||||
|
|
||||||
|
## Release 2.0.6
|
||||||
|
* Add CPython 3.9.7 (#2044)
|
||||||
|
* Add CPython v3.8.12 (#2043)
|
||||||
|
* Adapt conda.bash for bash associative array (#2037)
|
||||||
|
|
||||||
|
## Release 2.0.5
|
||||||
|
|
||||||
|
* Move man page to location where it can be automatically found by man (#2032)
|
||||||
|
* Update checksums for CPython 3.10.0rc1 (#2025)
|
||||||
|
* Remove 3.9.3 (#2022)
|
||||||
|
* Add CPython 3.10.0rc1(#2023)
|
||||||
|
|
||||||
|
## Release 2.0.4
|
||||||
|
|
||||||
|
- Added scripts for rolling releases of Miniforge (#2019)
|
||||||
|
- Update pyston-2.3 (#2017)
|
||||||
|
- Add GraalPython 21.2.0 (#2018)
|
||||||
|
- Add CPython 3.10.0b4 (#2013), (#2005)
|
||||||
|
- Add Pyston 2.3 (#2012)
|
||||||
|
|
||||||
|
## Release 2.0.3
|
||||||
|
|
||||||
|
* Remove PATH warning (#2001)
|
||||||
|
* Add Python 3.6.14, 3.7.11, 3.8.11, and 3.9.6 (#1996)
|
||||||
|
* Miniforge minor update to 4.10.1-5 (#1992)
|
||||||
|
* Suggest that fish users init in interactive mode (#1991)
|
||||||
|
|
||||||
|
## Release 2.0.2
|
||||||
|
|
||||||
|
* Miniforge minor update to 4.10.1-5 (#1992)
|
||||||
|
* Suggest that fish users init in interactive mode (#1991)
|
||||||
|
* Add 3.10.0b3 (#1988)
|
||||||
|
* Revert "Drop inferring version to install from `pyenv local`" (#1984)
|
||||||
|
* Use system Python3 for tests (#1979)
|
||||||
|
* Check for shims in path with pure Bash (#1978)
|
||||||
|
* Update setup instructions for debian, ubuntu etc. (#1977)
|
||||||
|
|
||||||
## Release 2.0.1
|
## Release 2.0.1
|
||||||
|
|
||||||
* Drop inferring version to install from `pyenv local` (#1907)
|
* Drop inferring version to install from `pyenv local` (#1907)
|
||||||
|
|||||||
@@ -240,6 +240,10 @@ easy to fork and contribute any changes back upstream.
|
|||||||
~~~bash
|
~~~bash
|
||||||
export PYENV_ROOT="$HOME/.pyenv"
|
export PYENV_ROOT="$HOME/.pyenv"
|
||||||
export PATH="$PYENV_ROOT/bin:$PATH"
|
export PATH="$PYENV_ROOT/bin:$PATH"
|
||||||
|
~~~
|
||||||
|
|
||||||
|
And put this line at the _bottom_ of `~/.profile`:
|
||||||
|
~~~bash
|
||||||
eval "$(pyenv init --path)"
|
eval "$(pyenv init --path)"
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
@@ -292,7 +296,7 @@ easy to fork and contribute any changes back upstream.
|
|||||||
|
|
||||||
And add this to `~/.config/fish/config.fish`:
|
And add this to `~/.config/fish/config.fish`:
|
||||||
~~~ fish
|
~~~ fish
|
||||||
status is-login; and pyenv init --path | source
|
status is-interactive; and pyenv init --path | source
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
If Fish is not your login shell, also follow the Bash/Zsh instructions to add to `~/.profile`.
|
If Fish is not your login shell, also follow the Bash/Zsh instructions to add to `~/.profile`.
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
set -e
|
set -e
|
||||||
[ -n "$PYENV_DEBUG" ] && set -x
|
[ -n "$PYENV_DEBUG" ] && set -x
|
||||||
|
|
||||||
version="2.0.1"
|
version="2.0.6"
|
||||||
git_revision=""
|
git_revision=""
|
||||||
|
|
||||||
if cd "${BASH_SOURCE%/*}" 2>/dev/null && git remote -v 2>/dev/null | grep -q pyenv; then
|
if cd "${BASH_SOURCE%/*}" 2>/dev/null && git remote -v 2>/dev/null | grep -q pyenv; then
|
||||||
|
|||||||
@@ -61,7 +61,6 @@ function main() {
|
|||||||
;;
|
;;
|
||||||
"print")
|
"print")
|
||||||
init_dirs
|
init_dirs
|
||||||
warn_path
|
|
||||||
print_env
|
print_env
|
||||||
print_completion
|
print_completion
|
||||||
print_shell_function
|
print_shell_function
|
||||||
@@ -109,7 +108,7 @@ function help_() {
|
|||||||
echo "# Load pyenv automatically by appending"
|
echo "# Load pyenv automatically by appending"
|
||||||
echo "# the following to ~/.config/fish/config.fish:"
|
echo "# the following to ~/.config/fish/config.fish:"
|
||||||
echo
|
echo
|
||||||
echo 'status is-login; and pyenv init --path | source'
|
echo 'status is-interactive; and pyenv init --path | source'
|
||||||
echo 'pyenv init - | source'
|
echo 'pyenv init - | source'
|
||||||
echo
|
echo
|
||||||
echo "# If fish is not your login shell,"
|
echo "# If fish is not your login shell,"
|
||||||
@@ -175,13 +174,6 @@ function print_path() {
|
|||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
function warn_path() {
|
|
||||||
if ! perl -ls0x3A -e 'while (<>) { chomp; ($_ eq $d) && exit 0; } exit 1' -- -d="${PYENV_ROOT}/shims" <<<"$PATH" ; then
|
|
||||||
echo 'echo '\''WARNING: `pyenv init -` no longer sets PATH.'\'
|
|
||||||
echo 'echo '\''Run `pyenv init` to see the necessary changes to make to your configuration.'\'
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
function print_env() {
|
function print_env() {
|
||||||
case "$shell" in
|
case "$shell" in
|
||||||
fish )
|
fish )
|
||||||
|
|||||||
@@ -115,7 +115,12 @@ done
|
|||||||
|
|
||||||
unset VERSION_NAME
|
unset VERSION_NAME
|
||||||
|
|
||||||
|
# The first argument contains the definition to install. If the
|
||||||
|
# argument is missing, try to install whatever local app-specific
|
||||||
|
# version is specified by pyenv. Show usage instructions if a local
|
||||||
|
# version is not specified.
|
||||||
DEFINITION="${ARGUMENTS[0]}"
|
DEFINITION="${ARGUMENTS[0]}"
|
||||||
|
[ -n "$DEFINITION" ] || DEFINITION="$(pyenv-local 2>/dev/null || true)"
|
||||||
[ -n "$DEFINITION" ] || usage 1 >&2
|
[ -n "$DEFINITION" ] || usage 1 >&2
|
||||||
|
|
||||||
# Define `before_install` and `after_install` functions that allow
|
# Define `before_install` and `after_install` functions that allow
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
|||||||
install_package "openssl-1.1.1k" "https://www.openssl.org/source/openssl-1.1.1k.tar.gz#892a0875b9872acd04a9fde79b1f943075d5ea162415de3047c327df33fbaee5" mac_openssl --if has_broken_mac_openssl
|
install_package "openssl-1.1.1k" "https://www.openssl.org/source/openssl-1.1.1k.tar.gz#892a0875b9872acd04a9fde79b1f943075d5ea162415de3047c327df33fbaee5" mac_openssl --if has_broken_mac_openssl
|
||||||
install_package "readline-8.0" "https://ftpmirror.gnu.org/readline/readline-8.0.tar.gz#e339f51971478d369f8a053a330a190781acb9864cf4c541060f12078948e461" mac_readline --if has_broken_mac_readline
|
install_package "readline-8.0" "https://ftpmirror.gnu.org/readline/readline-8.0.tar.gz#e339f51971478d369f8a053a330a190781acb9864cf4c541060f12078948e461" mac_readline --if has_broken_mac_readline
|
||||||
if has_tar_xz_support; then
|
if has_tar_xz_support; then
|
||||||
install_package "Python-3.10.0b2" "https://www.python.org/ftp/python/3.10.0/Python-3.10.0b2.tar.xz#c171663351fadef1759aef1dd5220ff69ccd76affb6d0aa719f90c63509b6aa8" standard verify_py310 copy_python_gdb ensurepip
|
install_package "Python-3.10.0rc1" "https://www.python.org/ftp/python/3.10.0/Python-3.10.0rc1.tar.xz#797061692282d0e573a0093476e57e39cf52cad56782ab2dfb79afadb3c1e638" standard verify_py310 copy_python_gdb ensurepip
|
||||||
else
|
else
|
||||||
install_package "Python-3.10.0b2" "https://www.python.org/ftp/python/3.10.0/Python-3.10.0b2.tgz#ac678e44e522c0b769398f64fccda917f24a97d310e492d98989377f8865bac1" standard verify_py310 copy_python_gdb ensurepip
|
install_package "Python-3.10.0rc1" "https://www.python.org/ftp/python/3.10.0/Python-3.10.0rc1.tgz#b7efa6edd72bfeae57295f1ccc7c38c9ede8087f9f082382f16f92aa38f684d3" standard verify_py310 copy_python_gdb ensurepip
|
||||||
fi
|
fi
|
||||||
9
plugins/python-build/share/python-build/3.6.14
Normal file
9
plugins/python-build/share/python-build/3.6.14
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
#require_gcc
|
||||||
|
prefer_openssl11
|
||||||
|
install_package "openssl-1.1.1k" "https://www.openssl.org/source/openssl-1.1.1k.tar.gz#892a0875b9872acd04a9fde79b1f943075d5ea162415de3047c327df33fbaee5" mac_openssl --if has_broken_mac_openssl
|
||||||
|
install_package "readline-8.1" "https://ftpmirror.gnu.org/readline/readline-8.1.tar.gz#f8ceb4ee131e3232226a17f51b164afc46cd0b9e6cef344be87c65962cb82b02" mac_readline --if has_broken_mac_readline
|
||||||
|
if has_tar_xz_support; then
|
||||||
|
install_package "Python-3.6.14" "https://www.python.org/ftp/python/3.6.14/Python-3.6.14.tar.xz#2663a7a0cfbd00fc76269dce4317db0b54be53c0f4d705aabb32b87efa02d5ae" standard verify_py36 copy_python_gdb ensurepip
|
||||||
|
else
|
||||||
|
install_package "Python-3.6.14" "https://www.python.org/ftp/python/3.6.14/Python-3.6.14.tgz#70064897bc434d6eae8bcc3e5678f282b5ea776d60e695da548a1219ccfd27a5" standard verify_py36 copy_python_gdb ensurepip
|
||||||
|
fi
|
||||||
10
plugins/python-build/share/python-build/3.7.11
Normal file
10
plugins/python-build/share/python-build/3.7.11
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
#require_gcc
|
||||||
|
prefer_openssl11
|
||||||
|
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
||||||
|
install_package "openssl-1.1.1k" "https://www.openssl.org/source/openssl-1.1.1k.tar.gz#892a0875b9872acd04a9fde79b1f943075d5ea162415de3047c327df33fbaee5" mac_openssl --if has_broken_mac_openssl
|
||||||
|
install_package "readline-8.1" "https://ftpmirror.gnu.org/readline/readline-8.1.tar.gz#f8ceb4ee131e3232226a17f51b164afc46cd0b9e6cef344be87c65962cb82b02" mac_readline --if has_broken_mac_readline
|
||||||
|
if has_tar_xz_support; then
|
||||||
|
install_package "Python-3.7.11" "https://www.python.org/ftp/python/3.7.11/Python-3.7.11.tar.xz#ddb4196ab5c4f69e895920a422cb60d42b46e2de2b173ce7fd57f1435459a734" standard verify_py37 copy_python_gdb ensurepip
|
||||||
|
else
|
||||||
|
install_package "Python-3.7.11" "https://www.python.org/ftp/python/3.7.11/Python-3.7.11.tgz#b4fba32182e16485d0a6022ba83c9251e6a1c14676ec243a9a07d3722cd4661a" standard verify_py37 copy_python_gdb ensurepip
|
||||||
|
fi
|
||||||
10
plugins/python-build/share/python-build/3.8.11
Normal file
10
plugins/python-build/share/python-build/3.8.11
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
#require_gcc
|
||||||
|
prefer_openssl11
|
||||||
|
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
||||||
|
install_package "openssl-1.1.1k" "https://www.openssl.org/source/openssl-1.1.1k.tar.gz#892a0875b9872acd04a9fde79b1f943075d5ea162415de3047c327df33fbaee5" mac_openssl --if has_broken_mac_openssl
|
||||||
|
install_package "readline-8.1" "https://ftpmirror.gnu.org/readline/readline-8.1.tar.gz#f8ceb4ee131e3232226a17f51b164afc46cd0b9e6cef344be87c65962cb82b02" mac_readline --if has_broken_mac_readline
|
||||||
|
if has_tar_xz_support; then
|
||||||
|
install_package "Python-3.8.11" "https://www.python.org/ftp/python/3.8.11/Python-3.8.11.tar.xz#fb1a1114ebfe9e97199603c6083e20b236a0e007a2c51f29283ffb50c1420fb2" standard verify_py38 copy_python_gdb ensurepip
|
||||||
|
else
|
||||||
|
install_package "Python-3.8.11" "https://www.python.org/ftp/python/3.8.11/Python-3.8.11.tgz#b77464ea80cec14581b86aeb7fb2ff02830e0abc7bcdc752b7b4bdfcd8f3e393" standard verify_py38 copy_python_gdb ensurepip
|
||||||
|
fi
|
||||||
10
plugins/python-build/share/python-build/3.8.12
Normal file
10
plugins/python-build/share/python-build/3.8.12
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
#require_gcc
|
||||||
|
prefer_openssl11
|
||||||
|
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
||||||
|
install_package "openssl-1.1.1k" "https://www.openssl.org/source/openssl-1.1.1k.tar.gz#892a0875b9872acd04a9fde79b1f943075d5ea162415de3047c327df33fbaee5" mac_openssl --if has_broken_mac_openssl
|
||||||
|
install_package "readline-8.1" "https://ftpmirror.gnu.org/readline/readline-8.1.tar.gz#f8ceb4ee131e3232226a17f51b164afc46cd0b9e6cef344be87c65962cb82b02" mac_readline --if has_broken_mac_readline
|
||||||
|
if has_tar_xz_support; then
|
||||||
|
install_package "Python-3.8.12" "https://www.python.org/ftp/python/3.8.12/Python-3.8.12.tar.xz#b1d3a76420375343b5e8a22fceb1ac65b77193e9ed27146524f0a9db058728ea" standard verify_py38 copy_python_gdb ensurepip
|
||||||
|
else
|
||||||
|
install_package "Python-3.8.12" "https://www.python.org/ftp/python/3.8.12/Python-3.8.12.tgz#316aa33f3b7707d041e73f246efedb297a70898c4b91f127f66dc8d80c596f1a" standard verify_py38 copy_python_gdb ensurepip
|
||||||
|
fi
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
#require_gcc
|
|
||||||
prefer_openssl11
|
|
||||||
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
|
||||||
install_package "openssl-1.1.1k" "https://www.openssl.org/source/openssl-1.1.1k.tar.gz#892a0875b9872acd04a9fde79b1f943075d5ea162415de3047c327df33fbaee5" mac_openssl --if has_broken_mac_openssl
|
|
||||||
install_package "readline-8.0" "https://ftpmirror.gnu.org/readline/readline-8.0.tar.gz#e339f51971478d369f8a053a330a190781acb9864cf4c541060f12078948e461" mac_readline --if has_broken_mac_readline
|
|
||||||
if has_tar_xz_support; then
|
|
||||||
install_package "Python-3.9.3" "https://www.python.org/ftp/python/3.9.3/Python-3.9.3.tar.xz#30811039c65e04c14fc698e423947e464f9316e69fb44610bd38446046bb82b5" standard verify_py39 copy_python_gdb ensurepip
|
|
||||||
else
|
|
||||||
install_package "Python-3.9.3" "https://www.python.org/ftp/python/3.9.3/Python-3.9.3.tgz#3afeb61a45b5a2e6f1c0f621bd8cf925a4ff406099fdb3d8c97b993a5f43d048" standard verify_py39 copy_python_gdb ensurepip
|
|
||||||
fi
|
|
||||||
10
plugins/python-build/share/python-build/3.9.6
Normal file
10
plugins/python-build/share/python-build/3.9.6
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
#require_gcc
|
||||||
|
prefer_openssl11
|
||||||
|
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
||||||
|
install_package "openssl-1.1.1k" "https://www.openssl.org/source/openssl-1.1.1k.tar.gz#892a0875b9872acd04a9fde79b1f943075d5ea162415de3047c327df33fbaee5" mac_openssl --if has_broken_mac_openssl
|
||||||
|
install_package "readline-8.1" "https://ftpmirror.gnu.org/readline/readline-8.1.tar.gz#f8ceb4ee131e3232226a17f51b164afc46cd0b9e6cef344be87c65962cb82b02" mac_readline --if has_broken_mac_readline
|
||||||
|
if has_tar_xz_support; then
|
||||||
|
install_package "Python-3.9.6" "https://www.python.org/ftp/python/3.9.6/Python-3.9.6.tar.xz#397920af33efc5b97f2e0b57e91923512ef89fc5b3c1d21dbfc8c4828ce0108a" standard verify_py39 copy_python_gdb ensurepip
|
||||||
|
else
|
||||||
|
install_package "Python-3.9.6" "https://www.python.org/ftp/python/3.9.6/Python-3.9.6.tgz#d0a35182e19e416fc8eae25a3dcd4d02d4997333e4ad1f2eee6010aadc3fe866" standard verify_py39 copy_python_gdb ensurepip
|
||||||
|
fi
|
||||||
10
plugins/python-build/share/python-build/3.9.7
Normal file
10
plugins/python-build/share/python-build/3.9.7
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
#require_gcc
|
||||||
|
prefer_openssl11
|
||||||
|
export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
|
||||||
|
install_package "openssl-1.1.1k" "https://www.openssl.org/source/openssl-1.1.1k.tar.gz#892a0875b9872acd04a9fde79b1f943075d5ea162415de3047c327df33fbaee5" mac_openssl --if has_broken_mac_openssl
|
||||||
|
install_package "readline-8.1" "https://ftpmirror.gnu.org/readline/readline-8.1.tar.gz#f8ceb4ee131e3232226a17f51b164afc46cd0b9e6cef344be87c65962cb82b02" mac_readline --if has_broken_mac_readline
|
||||||
|
if has_tar_xz_support; then
|
||||||
|
install_package "Python-3.9.7" "https://www.python.org/ftp/python/3.9.7/Python-3.9.7.tar.xz#f8145616e68c00041d1a6399b76387390388f8359581abc24432bb969b5e3c57" standard verify_py39 copy_python_gdb ensurepip
|
||||||
|
else
|
||||||
|
install_package "Python-3.9.7" "https://www.python.org/ftp/python/3.9.7/Python-3.9.7.tgz#a838d3f9360d157040142b715db34f0218e535333696a5569dc6f854604eb9d1" standard verify_py39 copy_python_gdb ensurepip
|
||||||
|
fi
|
||||||
48
plugins/python-build/share/python-build/graalpython-21.2.0
Normal file
48
plugins/python-build/share/python-build/graalpython-21.2.0
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
#
|
||||||
|
# Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||||
|
# this software and associated documentation files (the "Software"), to deal in
|
||||||
|
# the Software without restriction, including without limitation the rights to
|
||||||
|
# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||||
|
# of the Software, and to permit persons to whom the Software is furnished to do
|
||||||
|
# so, subject to the following conditions:
|
||||||
|
#
|
||||||
|
# The above copyright notice and this permission notice shall be included in all
|
||||||
|
# copies or substantial portions of the Software.
|
||||||
|
#
|
||||||
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
# SOFTWARE.
|
||||||
|
VERSION='21.2.0'
|
||||||
|
BUILD=''
|
||||||
|
|
||||||
|
case "$(pypy_architecture 2>/dev/null || true)" in
|
||||||
|
"linux64" )
|
||||||
|
graalpython_arch="linux"
|
||||||
|
checksum="17399e168743ae8b7b3faa9870ce24213fb514a04a8966bd4bd10844baf039da"
|
||||||
|
;;
|
||||||
|
"osx64" )
|
||||||
|
graalpython_arch="macos"
|
||||||
|
checksum="b365278cba49d6e2e0c018d1f5a1e81fa0304be5fe6c086532630443c605b8c0"
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
{ echo
|
||||||
|
colorize 1 "ERROR"
|
||||||
|
echo ": No binary distribution of GraalPython is available for $(pypy_architecture 2>/dev/null || true)."
|
||||||
|
echo
|
||||||
|
} >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ -n "${BUILD}" ]; then
|
||||||
|
urlprefix="https://github.com/graalvm/graalvm-ce-dev-builds/releases/download/${VERSION}-${BUILD}"
|
||||||
|
else
|
||||||
|
urlprefix="https://github.com/oracle/graalpython/releases/download/vm-${VERSION}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
install_package "graalpython-${VERSION}${BUILD}" "${urlprefix}/graalpython-${VERSION}-${graalpython_arch}-amd64.tar.gz#${checksum}" "graalpython" ensurepip
|
||||||
25
plugins/python-build/share/python-build/mambaforge
Normal file
25
plugins/python-build/share/python-build/mambaforge
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||||
|
"Linux-ppc64le" )
|
||||||
|
install_script "Mambaforge-Linux-ppc64le" "https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-Linux-ppc64le.sh" "miniconda" verify_py3_latest
|
||||||
|
;;
|
||||||
|
"Linux-x86_64" )
|
||||||
|
install_script "Mambaforge-Linux-x86_64" "https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-Linux-x86_64.sh" "miniconda" verify_py3_latest
|
||||||
|
;;
|
||||||
|
"Linux-aarch64" )
|
||||||
|
install_script "Mambaforge-Linux-aarch64" "https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-Linux-aarch64.sh" "miniconda" verify_py3_latest
|
||||||
|
;;
|
||||||
|
"MacOSX-arm64" )
|
||||||
|
install_script "Mambaforge-MacOSX-arm64" "https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-MacOSX-arm64.sh" "miniconda" verify_py3_latest
|
||||||
|
;;
|
||||||
|
"MacOSX-x86_64" )
|
||||||
|
install_script "Mambaforge-MacOSX-x86_64" "https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-MacOSX-x86_64.sh" "miniconda" verify_py3_latest
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
{ echo
|
||||||
|
colorize 1 "ERROR"
|
||||||
|
echo ": The binary distribution of Mambaforge3 is not available for $(anaconda_architecture 2>/dev/null || true)."
|
||||||
|
echo
|
||||||
|
} >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
22
plugins/python-build/share/python-build/mambaforge-4.10.1-5
Normal file
22
plugins/python-build/share/python-build/mambaforge-4.10.1-5
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||||
|
"Linux-x86_64" )
|
||||||
|
install_script "Mambaforge-4.10.1-5-Linux-x86_64" "https://github.com/conda-forge/miniforge/releases/download/4.10.1-5/Mambaforge-4.10.1-5-Linux-x86_64.sh#069e151cae85ed4747721e938e7974aa00889a1ae87cff33ddbdde9530fc4c6d" "miniconda" verify_py38
|
||||||
|
;;
|
||||||
|
"Linux-aarch64" )
|
||||||
|
install_script "Mambaforge-4.10.1-5-Linux-aarch64" "https://github.com/conda-forge/miniforge/releases/download/4.10.1-5/Mambaforge-4.10.1-5-Linux-aarch64.sh#64739b6eb0108ff3873d4edb32d2760db166cc822797234654c888c0f7063b9d" "miniconda" verify_py38
|
||||||
|
;;
|
||||||
|
"MacOSX-arm64" )
|
||||||
|
install_script "Mambaforge-4.10.1-5-MacOSX-arm64" "https://github.com/conda-forge/miniforge/releases/download/4.10.1-5/Mambaforge-4.10.1-5-MacOSX-arm64.sh#20553cd410ae250cd1cabce04e7478f57439ab1d55cb1c6a157998d96bee1b7d" "miniconda" verify_py39
|
||||||
|
;;
|
||||||
|
"MacOSX-x86_64" )
|
||||||
|
install_script "Mambaforge-4.10.1-5-MacOSX-x86_64" "https://github.com/conda-forge/miniforge/releases/download/4.10.1-5/Mambaforge-4.10.1-5-MacOSX-x86_64.sh#871fc6471ff8de7aa609db5f1a8e99bfaea6dabbbd2c41fa61c26ef82daa6832" "miniconda" verify_py38
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
{ echo
|
||||||
|
colorize 1 "ERROR"
|
||||||
|
echo ": The binary distribution of Miniforge is not available for $(anaconda_architecture 2>/dev/null || true)."
|
||||||
|
echo
|
||||||
|
} >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
22
plugins/python-build/share/python-build/mambaforge-pypy3
Normal file
22
plugins/python-build/share/python-build/mambaforge-pypy3
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
ase "$(anaconda_architecture 2>/dev/null || true)" in
|
||||||
|
"Linux-ppc64le" )
|
||||||
|
install_script "Mambaforge-pypy3-Linux-ppc64le" "https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-pypy3-Linux-ppc64le.sh" "miniconda" verify_py3_latest
|
||||||
|
;;
|
||||||
|
"Linux-x86_64" )
|
||||||
|
install_script "Mambaforge-pypy3-Linux-x86_64" "https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-pypy3-Linux-x86_64.sh" "miniconda" verify_py3_latest
|
||||||
|
;;
|
||||||
|
"Linux-aarch64" )
|
||||||
|
install_script "Mambaforge-pypy3-Linux-aarch64" "https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-pypy3-Linux-aarch64.sh" "miniconda" verify_py3_latest
|
||||||
|
;;
|
||||||
|
"MacOSX-x86_64" )
|
||||||
|
install_script "Mambaforge-pypy3-MacOSX-x86_64" "https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-pypy3-MacOSX-x86_64.sh" "miniconda" verify_py3_latest
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
{ echo
|
||||||
|
colorize 1 "ERROR"
|
||||||
|
echo ": The binary distribution of Mambaforge with PyPy3 is not available for $(anaconda_architecture 2>/dev/null || true)."
|
||||||
|
echo
|
||||||
|
} >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
23
plugins/python-build/share/python-build/miniforge-pypy3
Normal file
23
plugins/python-build/share/python-build/miniforge-pypy3
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
|
||||||
|
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||||
|
"Linux-ppc64le" )
|
||||||
|
install_script "Miniforge-pypy3-Linux-ppc64le" "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge-pypy3-Linux-ppc64le.sh" "miniconda" verify_py3_latest
|
||||||
|
;;
|
||||||
|
"Linux-x86_64" )
|
||||||
|
install_script "Miniforge-pypy3-Linux-x86_64" "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge-pypy3-Linux-x86_64.sh" "miniconda" verify_py3_latest
|
||||||
|
;;
|
||||||
|
"Linux-aarch64" )
|
||||||
|
install_script "Miniforge-pypy3-Linux-aarch64" "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge-pypy3-Linux-aarch64.sh" "miniconda" verify_py3_latest
|
||||||
|
;;
|
||||||
|
"MacOSX-x86_64" )
|
||||||
|
install_script "Miniforge-pypy3-MacOSX-x86_64" "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge-pypy3-MacOSX-x86_64.sh" "miniconda" verify_py3_latest
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
{ echo
|
||||||
|
colorize 1 "ERROR"
|
||||||
|
echo ": The binary distribution of Miniforge with PyPy3 is not available for $(anaconda_architecture 2>/dev/null || true)."
|
||||||
|
echo
|
||||||
|
} >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
25
plugins/python-build/share/python-build/miniforge3
Normal file
25
plugins/python-build/share/python-build/miniforge3
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||||
|
"Linux-ppc64le" )
|
||||||
|
install_script "Miniforge3-Linux-ppc64le" "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-ppc64le.sh" "miniconda" verify_py3_latest
|
||||||
|
;;
|
||||||
|
"Linux-x86_64" )
|
||||||
|
install_script "Miniforge3-Linux-x86_64" "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh" "miniconda" verify_py3_latest
|
||||||
|
;;
|
||||||
|
"Linux-aarch64" )
|
||||||
|
install_script "Miniforge3-Linux-aarch64" "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-aarch64.sh" "miniconda" verify_py3_latest
|
||||||
|
;;
|
||||||
|
"MacOSX-arm64" )
|
||||||
|
install_script "Miniforge3-MacOSX-arm64" "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-MacOSX-arm64.sh" "miniconda" verify_py3_latest
|
||||||
|
;;
|
||||||
|
"MacOSX-x86_64" )
|
||||||
|
install_script "Miniforge3-MacOSX-x86_64" "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-MacOSX-x86_64.sh" "miniconda" verify_py3_latest
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
{ echo
|
||||||
|
colorize 1 "ERROR"
|
||||||
|
echo ": The binary distribution of Miniforge3 is not available for $(anaconda_architecture 2>/dev/null || true)."
|
||||||
|
echo
|
||||||
|
} >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
25
plugins/python-build/share/python-build/miniforge3-4.10.1-5
Normal file
25
plugins/python-build/share/python-build/miniforge3-4.10.1-5
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||||
|
"Linux-ppc64le" )
|
||||||
|
install_script "Miniforge3-4.10.1-5-Linux-ppc64le" "https://github.com/conda-forge/miniforge/releases/download/4.10.1-5/Miniforge3-4.10.1-5-Linux-ppc64le.sh#0b23d9c25582dbd2cf8171366f5fb0ef5d5e7f8262eb670094f33400e88f3726" "miniconda" verify_py38
|
||||||
|
;;
|
||||||
|
"Linux-x86_64" )
|
||||||
|
install_script "Miniforge3-4.10.1-5-Linux-x86_64" "https://github.com/conda-forge/miniforge/releases/download/4.10.1-5/Miniforge3-4.10.1-5-Linux-x86_64.sh#f47637e899258d4fa568aa866c37ecf19a2dacc50fa64a5ebc65443ccdf73243" "miniconda" verify_py38
|
||||||
|
;;
|
||||||
|
"Linux-aarch64" )
|
||||||
|
install_script "Miniforge3-4.10.1-5-Linux-aarch64" "https://github.com/conda-forge/miniforge/releases/download/4.10.1-5/Miniforge3-4.10.1-5-Linux-aarch64.sh#d582c3bf289dc5c2f86dde9182b27e49b095d00da40842f3e379a113b12ce7cb" "miniconda" verify_py38
|
||||||
|
;;
|
||||||
|
"MacOSX-arm64" )
|
||||||
|
install_script "Miniforge3-4.10.1-5-MacOSX-arm64" "https://github.com/conda-forge/miniforge/releases/download/4.10.1-5/Miniforge3-4.10.1-5-MacOSX-arm64.sh#29fee39691dfe84cf3222c61fce0c8357d933eefcc0d49041b48153efe91f345" "miniconda" verify_py39
|
||||||
|
;;
|
||||||
|
"MacOSX-x86_64" )
|
||||||
|
install_script "Miniforge3-4.10.1-5-MacOSX-x86_64" "https://github.com/conda-forge/miniforge/releases/download/4.10.1-5/Miniforge3-4.10.1-5-MacOSX-x86_64.sh#f67dfc4d5e3dea173e31267eb0890733098f0fd2d42944282d17f27a1bc3f8cc" "miniconda" verify_py38
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
{ echo
|
||||||
|
colorize 1 "ERROR"
|
||||||
|
echo ": The binary distribution of Miniforge is not available for $(anaconda_architecture 2>/dev/null || true)."
|
||||||
|
echo
|
||||||
|
} >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
19
plugins/python-build/share/python-build/pyston-2.3
Normal file
19
plugins/python-build/share/python-build/pyston-2.3
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
echo
|
||||||
|
colorize 1 "WARNING"
|
||||||
|
echo ": Pyston only runs on x86_64 platforms, and only has been tested on Ubuntu"
|
||||||
|
echo "so, your mileage may vary with other Linux distributions."
|
||||||
|
echo
|
||||||
|
|
||||||
|
case "$(pyston_architecture 2>/dev/null || true)" in
|
||||||
|
"linux64" )
|
||||||
|
install_package "pyston_2.3" "https://github.com/pyston/pyston/releases/download/v2.3/pyston_2.3_portable-v2.tar.gz#90185e29e4a1a19562c095f2bb4e81a5d0715150fa10eca363ec1188b5ba7ee7" "pyston" verify_py38 get_pip
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
{ echo
|
||||||
|
colorize 1 "ERROR"
|
||||||
|
echo ": A Pyston 2.3 binary is not available for $(pyston_architecture 2>/dev/null || true)."
|
||||||
|
echo
|
||||||
|
} >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
@@ -23,6 +23,17 @@ stub_python_build() {
|
|||||||
unstub pyenv-rehash
|
unstub pyenv-rehash
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@test "install pyenv local version by default" {
|
||||||
|
stub_python_build 'echo python-build "$1"'
|
||||||
|
stub pyenv-local 'echo 3.4.2'
|
||||||
|
|
||||||
|
run pyenv-install
|
||||||
|
assert_success "python-build 3.4.2"
|
||||||
|
|
||||||
|
unstub python-build
|
||||||
|
unstub pyenv-local
|
||||||
|
}
|
||||||
|
|
||||||
@test "list available versions" {
|
@test "list available versions" {
|
||||||
stub_python_build \
|
stub_python_build \
|
||||||
"--definitions : echo 2.6.9 2.7.9-rc1 2.7.9-rc2 3.4.2 | tr ' ' $'\\n'"
|
"--definitions : echo 2.6.9 2.7.9-rc1 2.7.9-rc2 3.4.2 | tr ' ' $'\\n'"
|
||||||
|
|||||||
@@ -34,14 +34,23 @@ make_shims() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
deregister_conda_shims() {
|
deregister_conda_shims() {
|
||||||
local shim
|
# adapted for Bash 4.x's associative array (#1749)
|
||||||
local shims=()
|
if declare -p registered_shims 2> /dev/null | grep -Eq '^(declare|typeset) \-A'; then
|
||||||
for shim in ${registered_shims}; do
|
for shim in ${!registered_shims[*]}; do
|
||||||
if ! conda_shim "${shim}" 1>&2; then
|
if conda_shim "${shim}" 1>&2; then
|
||||||
shims[${#shims[*]}]="${shim}"
|
unset registered_shims[${shim}]
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
registered_shims=" ${shims[@]} "
|
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
|
||||||
}
|
}
|
||||||
|
|
||||||
if conda_exists; then
|
if conda_exists; then
|
||||||
|
|||||||
@@ -79,37 +79,37 @@ OUT
|
|||||||
}
|
}
|
||||||
|
|
||||||
@test "sys.executable with system version (#98)" {
|
@test "sys.executable with system version (#98)" {
|
||||||
system_python=$(which python)
|
system_python=$(which python3)
|
||||||
|
|
||||||
PYENV_VERSION="custom"
|
PYENV_VERSION="custom"
|
||||||
create_executable "python" ""
|
create_executable "python3" ""
|
||||||
unset PYENV_VERSION
|
unset PYENV_VERSION
|
||||||
|
|
||||||
pyenv-rehash
|
pyenv-rehash
|
||||||
run pyenv-exec python -c 'import sys; print(sys.executable)'
|
run pyenv-exec python3 -c 'import sys; print(sys.executable)'
|
||||||
assert_success "${system_python}"
|
assert_success "${system_python}"
|
||||||
}
|
}
|
||||||
|
|
||||||
@test 'PATH is not modified with system Python' {
|
@test 'PATH is not modified with system Python' {
|
||||||
# Create a wrapper executable that verifies PATH.
|
# Create a wrapper executable that verifies PATH.
|
||||||
PYENV_VERSION="custom"
|
PYENV_VERSION="custom"
|
||||||
create_executable "python" '[[ "$PATH" == "${PYENV_TEST_DIR}/root/versions/custom/bin:"* ]] || { echo "unexpected:$PATH"; exit 2;}'
|
create_executable "python3" '[[ "$PATH" == "${PYENV_TEST_DIR}/root/versions/custom/bin:"* ]] || { echo "unexpected:$PATH"; exit 2;}'
|
||||||
unset PYENV_VERSION
|
unset PYENV_VERSION
|
||||||
pyenv-rehash
|
pyenv-rehash
|
||||||
|
|
||||||
# Path is not modified with system Python.
|
# Path is not modified with system Python.
|
||||||
run pyenv-exec python -c 'import os; print(os.getenv("PATH"))'
|
run pyenv-exec python3 -c 'import os; print(os.getenv("PATH"))'
|
||||||
assert_success "$PATH"
|
assert_success "$PATH"
|
||||||
|
|
||||||
# Path is modified with custom Python.
|
# Path is modified with custom Python.
|
||||||
PYENV_VERSION=custom run pyenv-exec python
|
PYENV_VERSION=custom run pyenv-exec python3
|
||||||
assert_success
|
assert_success
|
||||||
|
|
||||||
# Path is modified with custom:system Python.
|
# Path is modified with custom:system Python.
|
||||||
PYENV_VERSION=custom:system run pyenv-exec python
|
PYENV_VERSION=custom:system run pyenv-exec python3
|
||||||
assert_success
|
assert_success
|
||||||
|
|
||||||
# Path is not modified with system:custom Python.
|
# Path is not modified with system:custom Python.
|
||||||
PYENV_VERSION=system:custom run pyenv-exec python -c 'import os; print(os.getenv("PATH"))'
|
PYENV_VERSION=system:custom run pyenv-exec python3 -c 'import os; print(os.getenv("PATH"))'
|
||||||
assert_success "$PATH"
|
assert_success "$PATH"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -90,13 +90,6 @@ OUT
|
|||||||
assert_line 0 "set -gx PATH '${PYENV_ROOT}/shims' \$PATH"
|
assert_line 0 "set -gx PATH '${PYENV_ROOT}/shims' \$PATH"
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "prints a warning if shims not in PATH" {
|
|
||||||
export PATH="$(perl -0x3A -ls -e 'while (<>) { chomp; ($_ ne $d) && print; }' -- -d="${PYENV_ROOT}/shims" <<<"$PATH")"
|
|
||||||
run pyenv-init -
|
|
||||||
assert_success
|
|
||||||
assert_line 0 'echo '\''WARNING: `pyenv init -` no longer sets PATH.'\'
|
|
||||||
}
|
|
||||||
|
|
||||||
@test "outputs sh-compatible syntax" {
|
@test "outputs sh-compatible syntax" {
|
||||||
run pyenv-init - bash
|
run pyenv-init - bash
|
||||||
assert_success
|
assert_success
|
||||||
|
|||||||
Reference in New Issue
Block a user