mirror of
https://github.com/pyenv/pyenv.git
synced 2025-11-15 14:53:53 -05:00
Compare commits
20 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7f32e96c28 | ||
|
|
294738842c | ||
|
|
a3bea25ddc | ||
|
|
1a66a9141b | ||
|
|
78c1d7186d | ||
|
|
9b60d73ec8 | ||
|
|
8a9d2557a0 | ||
|
|
2a79db00b0 | ||
|
|
3e7839c5b7 | ||
|
|
36c5cbf74f | ||
|
|
608ad6f9d0 | ||
|
|
7a6eb38a36 | ||
|
|
cd40335ba4 | ||
|
|
26450fd0ab | ||
|
|
22ecefd572 | ||
|
|
abae52ae20 | ||
|
|
114063495f | ||
|
|
7b797c3797 | ||
|
|
8e276a009e | ||
|
|
4198280142 |
@@ -1,5 +1,14 @@
|
||||
## Version History
|
||||
|
||||
#### 20150719
|
||||
|
||||
* python-build: Add CPython `3.6-dev` (#413)
|
||||
* python-build: Add Anaconda/Anaconda3 2.3.0
|
||||
* python-build: Fix download URL of portable PyPy 2.6 (fixes #389)
|
||||
* python-build: Use custom `MACOSX_DEPLOYMENT_TARGET` if defined (#312)
|
||||
* python-build: Use original CPython repository instead of mirror at bitbucket.org as the source of `*-dev` versions (#409)
|
||||
* python-build: Pin pip version to 1.5.6 for python 3.1.5 (#351)
|
||||
|
||||
#### 20150601
|
||||
|
||||
* python-build: Add PyPy 2.6.0
|
||||
|
||||
@@ -126,7 +126,7 @@ reading it from the following sources, in this order:
|
||||
Python. (In other words, whatever version would run if pyenv weren't in your
|
||||
`PATH`.)
|
||||
|
||||
**NOTE:** You can activate multiple versions at the same time, including mulitple
|
||||
**NOTE:** You can activate multiple versions at the same time, including multiple
|
||||
versions of Python2 or Python3 simultaneously. This allows for parallel usage of
|
||||
Python2 and Python3, and is required with tools like `tox`. For example, to set
|
||||
your path to first use your `system` Python and Python3 (set to 2.7.9 and 3.4.2
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
set -e
|
||||
[ -n "$PYENV_DEBUG" ] && set -x
|
||||
|
||||
version="20150601"
|
||||
version="20150719"
|
||||
|
||||
if cd "$PYENV_ROOT" 2>/dev/null; then
|
||||
git_revision="$(git describe --tags HEAD 2>/dev/null || true)"
|
||||
|
||||
@@ -30,7 +30,7 @@ OLDIFS="$IFS"
|
||||
{ IFS=:
|
||||
for version in ${PYENV_VERSION}; do
|
||||
if [ "$version" = "system" ]; then
|
||||
if PYTHON_PATH="$(pyenv-which python 2>/dev/null)"; then
|
||||
if PYTHON_PATH="$(PYENV_VERSION="${version}" pyenv-which python 2>/dev/null)"; then
|
||||
PYENV_PREFIX_PATH="${PYTHON_PATH%/bin/*}"
|
||||
else
|
||||
echo "pyenv: system version not found in PATH" >&2
|
||||
|
||||
@@ -1517,6 +1517,11 @@ build_package_verify_py35() {
|
||||
build_package_verify_py34 "$1" "${2:-3.5}"
|
||||
}
|
||||
|
||||
# Post-install check for Python 3.6.x
|
||||
build_package_verify_py36() {
|
||||
build_package_verify_py35 "$1" "${2:-3.6}"
|
||||
}
|
||||
|
||||
build_package_ez_setup() {
|
||||
local ez_setup="${BUILD_PATH}/ez_setup.py"
|
||||
rm -f "${ez_setup}"
|
||||
@@ -1815,12 +1820,14 @@ fi
|
||||
|
||||
# Set MACOSX_DEPLOYMENT_TARGET from the product version of OS X (#219, #220)
|
||||
if [[ "Darwin" == "$(uname -s)" ]]; then
|
||||
if [ -z "${MACOSX_DEPLOYMENT_TARGET}" ]; then
|
||||
MACOS_VERSION="$(sw_vers -productVersion 2>/dev/null || true)"
|
||||
MACOS_VERSION_ARRAY=(${MACOS_VERSION//\./ })
|
||||
if [ "${#MACOS_VERSION_ARRAY[@]}" -ge 2 ]; then
|
||||
export MACOSX_DEPLOYMENT_TARGET="${MACOS_VERSION_ARRAY[0]}.${MACOS_VERSION_ARRAY[1]}"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
python_bin_suffix() {
|
||||
local version_name version_info
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
#require_gcc
|
||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||
install_hg "Python-2.7-dev" "https://bitbucket.org/mirror/cpython" "2.7" standard verify_py27 ensurepip
|
||||
install_hg "Python-2.7-dev" "https://hg.python.org/cpython" "2.7" standard verify_py27 ensurepip
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#require_gcc
|
||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||
install_package "Python-3.1.5" "http://python.org/ftp/python/3.1.5/Python-3.1.5.tgz#d12dae6d06f52ef6bf1271db4d5b4d14b5dd39813e324314e72b648ef1bc0103" ldflags_dirs standard verify_py31 ensurepip
|
||||
install_package "Python-3.1.5" "http://python.org/ftp/python/3.1.5/Python-3.1.5.tgz#d12dae6d06f52ef6bf1271db4d5b4d14b5dd39813e324314e72b648ef1bc0103" ldflags_dirs standard verify_py31 ez_setup
|
||||
install_package "pip-1.5.6" "https://pypi.python.org/packages/source/p/pip/pip-1.5.6.tar.gz#b1a4ae66baf21b7eb05a5e4f37c50c2706fa28ea1f8780ce8efe14dcd9f1726c" python
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
#require_gcc
|
||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||
install_hg "Python-3.2-dev" "https://bitbucket.org/mirror/cpython" "3.2" standard verify_py32 ensurepip
|
||||
install_hg "Python-3.2-dev" "https://hg.python.org/cpython" "3.2" standard verify_py32 ensurepip
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
#require_gcc
|
||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||
install_hg "Python-3.3-dev" "https://bitbucket.org/mirror/cpython" "3.3" standard verify_py33 ensurepip
|
||||
install_hg "Python-3.3-dev" "https://hg.python.org/cpython" "3.3" standard verify_py33 ensurepip
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
#require_gcc
|
||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||
install_hg "Python-3.4-dev" "https://bitbucket.org/mirror/cpython" "3.4" standard verify_py34 ensurepip
|
||||
install_hg "Python-3.4-dev" "https://hg.python.org/cpython" "3.4" standard verify_py34 ensurepip
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
#require_gcc
|
||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||
install_hg "Python-3.5-dev" "https://bitbucket.org/mirror/cpython" "default" standard verify_py35 ensurepip
|
||||
install_hg "Python-3.5-dev" "https://hg.python.org/cpython" "3.5" standard verify_py35 ensurepip
|
||||
|
||||
3
plugins/python-build/share/python-build/3.5.0b3
Normal file
3
plugins/python-build/share/python-build/3.5.0b3
Normal file
@@ -0,0 +1,3 @@
|
||||
#require_gcc
|
||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||
install_package "Python-3.5.0b3" "https://www.python.org/ftp/python/3.5.0/Python-3.5.0b3.tgz#5d1437676e75826963028eece5e84c31a8f6e4a781b86d860df89607ddb62f29" ldflags_dirs standard verify_py35 ensurepip
|
||||
@@ -1,3 +1,3 @@
|
||||
#require_gcc
|
||||
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
|
||||
install_hg "Python-3.1-dev" "https://bitbucket.org/mirror/cpython" "3.1" standard verify_py31 ensurepip
|
||||
install_hg "Python-3.6-dev" "https://hg.python.org/cpython" "default" standard verify_py36 ensurepip
|
||||
19
plugins/python-build/share/python-build/anaconda-2.3.0
Normal file
19
plugins/python-build/share/python-build/anaconda-2.3.0
Normal file
@@ -0,0 +1,19 @@
|
||||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-x86" )
|
||||
install_script "Anaconda-2.3.0-Linux-x86" "http://repo.continuum.io/archive/Anaconda-2.3.0-Linux-x86.sh#73fdbbb3e38207ed18e5059f71676d18d48fdccbc455a1272eb45a60376cd818" "anaconda" verify_py27
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Anaconda-2.3.0-Linux-x86_64" "http://repo.continuum.io/archive/Anaconda-2.3.0-Linux-x86_64.sh#7c02499e9511c127d225992cfe1cd815e88fd46cd8a5b3cdf764f3fb4d8d4576" "anaconda" verify_py27
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Anaconda-2.3.0-MacOSX-x86_64" "http://repo.continuum.io/archive/Anaconda-2.3.0-MacOSX-x86_64.sh#c4bb59a57bf44dde80612041bbbcfd2e5cab8534842209ef456da7a46f919c33" "anaconda" verify_py27
|
||||
;;
|
||||
* )
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": The binary distribution of Anaconda is not available for $(anaconda_architecture 2>/dev/null || true)."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
19
plugins/python-build/share/python-build/anaconda3-2.3.0
Normal file
19
plugins/python-build/share/python-build/anaconda3-2.3.0
Normal file
@@ -0,0 +1,19 @@
|
||||
case "$(anaconda_architecture 2>/dev/null || true)" in
|
||||
"Linux-x86" )
|
||||
install_script "Anaconda3-2.3.0-Linux-x86" "http://repo.continuum.io/archive/Anaconda3-2.3.0-Linux-x86.sh#4cc10d65c303191004ada2b6d75562c8ed84e42bf9871af06440dd956077b555" "anaconda" verify_py34
|
||||
;;
|
||||
"Linux-x86_64" )
|
||||
install_script "Anaconda3-2.3.0-Linux-x86_64" "http://repo.continuum.io/archive/Anaconda3-2.3.0-Linux-x86_64.sh#3be5410b2d9db45882c7de07c554cf4f1034becc274ec9074b23fd37a5c87a6f" "anaconda" verify_py34
|
||||
;;
|
||||
"MacOSX-x86_64" )
|
||||
install_script "Anaconda3-2.3.0-MacOSX-x86_64" "http://repo.continuum.io/archive/Anaconda3-2.3.0-MacOSX-x86_64.sh#6a0c94a49f41f9fda0138c8e966bd7b0a8965d6648fd21ffbd645d1453848ba5" "anaconda" verify_py34
|
||||
;;
|
||||
* )
|
||||
{ echo
|
||||
colorize 1 "ERROR"
|
||||
echo ": The binary distribution of Anaconda3 is not available for $(anaconda_architecture 2>/dev/null || true)."
|
||||
echo
|
||||
} >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
@@ -0,0 +1,13 @@
|
||||
Only in .: 003_system_library_path_in_sys_path.patch
|
||||
diff -ur ../Python-2.7.10/Lib/site.py ./Lib/site.py
|
||||
--- ../Python-2.7.10/Lib/site.py 2014-06-30 05:05:30.000000000 +0300
|
||||
+++ ./Lib/site.py 2014-12-12 11:42:33.000000000 +0200
|
||||
@@ -300,7 +300,7 @@
|
||||
# locations.
|
||||
from sysconfig import get_config_var
|
||||
framework = get_config_var("PYTHONFRAMEWORK")
|
||||
- if framework:
|
||||
+ if False and framework:
|
||||
sitepackages.append(
|
||||
os.path.join("/Library", framework,
|
||||
sys.version[:3], "site-packages"))
|
||||
@@ -3,7 +3,7 @@ case "$(pypy_architecture 2>/dev/null || true)" in
|
||||
if require_distro "Ubuntu 12.04" "Ubuntu 12.10" "Ubuntu 13.04" "Ubuntu 13.10" "Ubuntu 14.04" 1>/dev/null 2>&1; then
|
||||
install_package "pypy-2.6.0-linux" "https://bitbucket.org/pypy/pypy/downloads/pypy-2.6.0-linux.tar.bz2#6e0b052c40a59bf5a85ee239980bbcab8b031b4c2bc33b99efe1b072977d9910" "pypy" verify_py27 ensurepip
|
||||
else
|
||||
install_package "pypy-2.6.0-linux_i686-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-2.6.0-linux_i686-portable.tar.bz2#e01db0984f7fecd80dadfb1d5f65118e596e3984d12643b4d552e83f92bff549" "pypy" verify_py27 ensurepip
|
||||
install_package "pypy-2.6-linux_i686-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-2.6-linux_i686-portable.tar.bz2#e01db0984f7fecd80dadfb1d5f65118e596e3984d12643b4d552e83f92bff549" "pypy" verify_py27 ensurepip
|
||||
fi
|
||||
;;
|
||||
"linux-armel" )
|
||||
@@ -22,7 +22,7 @@ case "$(pypy_architecture 2>/dev/null || true)" in
|
||||
if require_distro "Ubuntu 12.04" "Ubuntu 12.10" "Ubuntu 13.04" "Ubuntu 13.10" "Ubuntu 14.04" 1>/dev/null 2>&1; then
|
||||
install_package "pypy-2.6.0-linux64" "https://bitbucket.org/pypy/pypy/downloads/pypy-2.6.0-linux64.tar.bz2#f5d2b0e3594cec57e32d3e43a951041ec330e1e962a836be470d591633e51388" "pypy" verify_py27 ensurepip
|
||||
else
|
||||
install_package "pypy-2.6.0-linux_x86_64-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-2.6.0-linux_x86_64-portable.tar.bz2#97284b66476c5d1b17a62f5017569a0073730928e19f95b49d78d6bc60b69495" "pypy" verify_py27 ensurepip
|
||||
install_package "pypy-2.6-linux_x86_64-portable" "https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-2.6-linux_x86_64-portable.tar.bz2#97284b66476c5d1b17a62f5017569a0073730928e19f95b49d78d6bc60b69495" "pypy" verify_py27 ensurepip
|
||||
fi
|
||||
;;
|
||||
"osx64" )
|
||||
|
||||
@@ -87,6 +87,10 @@ install_tmp_fixture() {
|
||||
run python-build $args "$TMP_FIXTURES/$name" "$destination"
|
||||
}
|
||||
|
||||
resolve_link() {
|
||||
$(type -p greadlink readlink | head -1) "$1"
|
||||
}
|
||||
|
||||
@test "apply built-in python patch before building" {
|
||||
cached_tarball "Python-3.2.1"
|
||||
|
||||
@@ -195,3 +199,84 @@ OUT
|
||||
python -m ensurepip --altinstall
|
||||
OUT
|
||||
}
|
||||
|
||||
@test "python3-config" {
|
||||
mkdir -p "${INSTALL_ROOT}/bin"
|
||||
touch "${INSTALL_ROOT}/bin/python3"
|
||||
chmod +x "${INSTALL_ROOT}/bin/python3"
|
||||
touch "${INSTALL_ROOT}/bin/python3.4"
|
||||
chmod +x "${INSTALL_ROOT}/bin/python3.4"
|
||||
touch "${INSTALL_ROOT}/bin/python3-config"
|
||||
chmod +x "${INSTALL_ROOT}/bin/python3-config"
|
||||
touch "${INSTALL_ROOT}/bin/python3.4-config"
|
||||
chmod +x "${INSTALL_ROOT}/bin/python3.4-config"
|
||||
|
||||
TMPDIR="$TMP" run_inline_definition <<OUT
|
||||
verify_python python3.4
|
||||
OUT
|
||||
assert_success
|
||||
|
||||
[ -L "${INSTALL_ROOT}/bin/python" ]
|
||||
[ -L "${INSTALL_ROOT}/bin/python-config" ]
|
||||
[[ "$(resolve_link "${INSTALL_ROOT}/bin/python")" == "python3.4" ]]
|
||||
[[ "$(resolve_link "${INSTALL_ROOT}/bin/python-config")" == "python3.4-config" ]]
|
||||
}
|
||||
|
||||
@test "--enable-framework" {
|
||||
mkdir -p "${INSTALL_ROOT}/Python.framework/Versions/Current/bin"
|
||||
touch "${INSTALL_ROOT}/Python.framework/Versions/Current/bin/python3"
|
||||
chmod +x "${INSTALL_ROOT}/Python.framework/Versions/Current/bin/python3"
|
||||
touch "${INSTALL_ROOT}/Python.framework/Versions/Current/bin/python3.4"
|
||||
chmod +x "${INSTALL_ROOT}/Python.framework/Versions/Current/bin/python3.4"
|
||||
touch "${INSTALL_ROOT}/Python.framework/Versions/Current/bin/python3-config"
|
||||
chmod +x "${INSTALL_ROOT}/Python.framework/Versions/Current/bin/python3-config"
|
||||
touch "${INSTALL_ROOT}/Python.framework/Versions/Current/bin/python3.4-config"
|
||||
chmod +x "${INSTALL_ROOT}/Python.framework/Versions/Current/bin/python3.4-config"
|
||||
|
||||
stub uname '-s : echo Darwin'
|
||||
|
||||
PYTHON_CONFIGURE_OPTS="--enable-framework" TMPDIR="$TMP" run_inline_definition <<OUT
|
||||
echo "PYTHON_CONFIGURE_OPTS_ARRAY=(\${PYTHON_CONFIGURE_OPTS_ARRAY[@]})"
|
||||
verify_python python3.4
|
||||
OUT
|
||||
assert_success
|
||||
assert_output <<EOS
|
||||
PYTHON_CONFIGURE_OPTS_ARRAY=(--enable-framework=${TMP}/install)
|
||||
EOS
|
||||
|
||||
[ -L "${INSTALL_ROOT}/Python.framework/Versions/Current/bin/python" ]
|
||||
[ -L "${INSTALL_ROOT}/Python.framework/Versions/Current/bin/python-config" ]
|
||||
}
|
||||
|
||||
@test "--enable-universalsdk" {
|
||||
stub uname '-s : echo Darwin'
|
||||
|
||||
PYTHON_CONFIGURE_OPTS="--enable-universalsdk" TMPDIR="$TMP" run_inline_definition <<OUT
|
||||
echo "PYTHON_CONFIGURE_OPTS_ARRAY=(\${PYTHON_CONFIGURE_OPTS_ARRAY[@]})"
|
||||
OUT
|
||||
assert_success
|
||||
assert_output <<EOS
|
||||
PYTHON_CONFIGURE_OPTS_ARRAY=(--enable-universalsdk=/ --with-universal-archs=intel)
|
||||
EOS
|
||||
}
|
||||
|
||||
@test "default MACOSX_DEPLOYMENT_TARGET" {
|
||||
stub uname '-s : echo Darwin'
|
||||
stub sw_vers '-productVersion : echo 10.10'
|
||||
|
||||
TMPDIR="$TMP" run_inline_definition <<OUT
|
||||
echo "\${MACOSX_DEPLOYMENT_TARGET}"
|
||||
OUT
|
||||
assert_success
|
||||
assert_output "10.10"
|
||||
}
|
||||
|
||||
@test "use custom MACOSX_DEPLOYMENT_TARGET if defined" {
|
||||
stub uname '-s : echo Darwin'
|
||||
|
||||
MACOSX_DEPLOYMENT_TARGET="10.4" TMPDIR="$TMP" run_inline_definition <<OUT
|
||||
echo "\${MACOSX_DEPLOYMENT_TARGET}"
|
||||
OUT
|
||||
assert_success
|
||||
assert_output "10.4"
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ load test_helper
|
||||
@test "blank invocation" {
|
||||
run pyenv
|
||||
assert_success
|
||||
assert [ "${lines[0]}" == "pyenv 20150601" ]
|
||||
assert [ "${lines[0]}" == "pyenv 20150719" ]
|
||||
}
|
||||
|
||||
@test "invalid command" {
|
||||
|
||||
@@ -1,3 +1,14 @@
|
||||
#!/usr/bin/env bats
|
||||
|
||||
load test_helper
|
||||
|
||||
@test "prefixes" {
|
||||
mkdir -p "${PYENV_TEST_DIR}/bin"
|
||||
touch "${PYENV_TEST_DIR}/bin/python"
|
||||
chmod +x "${PYENV_TEST_DIR}/bin/python"
|
||||
mkdir -p "${PYENV_ROOT}/versions/2.7.10"
|
||||
PYENV_VERSION="system:2.7.10" run pyenv-prefix
|
||||
assert_success "${PYENV_TEST_DIR}:${PYENV_ROOT}/versions/2.7.10"
|
||||
PYENV_VERSION="2.7.10:system" run pyenv-prefix
|
||||
assert_success "${PYENV_ROOT}/versions/2.7.10:${PYENV_TEST_DIR}"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user