mirror of
https://github.com/pyenv/pyenv.git
synced 2025-11-08 11:33:49 -05:00
Compare commits
260 Commits
v0.2.0
...
v0.4.0-201
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
73d5ea7426 | ||
|
|
b992ffca1d | ||
|
|
9c82314570 | ||
|
|
403154e09e | ||
|
|
b44398e954 | ||
|
|
46a01b1643 | ||
|
|
bf94eb8cbe | ||
|
|
b225f2030d | ||
|
|
cbe7d0241b | ||
|
|
e65a10be51 | ||
|
|
badc8255ab | ||
|
|
385d3337ef | ||
|
|
558200285b | ||
|
|
2c26b0870a | ||
|
|
2cea06b88a | ||
|
|
c977774977 | ||
|
|
314937d599 | ||
|
|
07ae0d8e42 | ||
|
|
461c5bbc2d | ||
|
|
a7f5a19a24 | ||
|
|
f344731cf9 | ||
|
|
a3f35b7e0d | ||
|
|
b025dbfdab | ||
|
|
efd9c1cd48 | ||
|
|
38eb9fe948 | ||
|
|
6ee7aaf611 | ||
|
|
93ba3a4c51 | ||
|
|
34087d03ec | ||
|
|
f136b219db | ||
|
|
84705cfe61 | ||
|
|
2a9f6038e0 | ||
|
|
0e3e603429 | ||
|
|
71a916faf2 | ||
|
|
8e02b93e39 | ||
|
|
a7a99c75eb | ||
|
|
bb3b5de179 | ||
|
|
f956502fd8 | ||
|
|
4c5ffc8d99 | ||
|
|
8dc4e8d6f8 | ||
|
|
7edceff71c | ||
|
|
1587d8a03c | ||
|
|
5dea3c9e63 | ||
|
|
12d4fdb307 | ||
|
|
319721b380 | ||
|
|
3dd9332eee | ||
|
|
88922e2bc0 | ||
|
|
0965577b93 | ||
|
|
f538169992 | ||
|
|
d03f290b5d | ||
|
|
8ddf8760d5 | ||
|
|
8fa6b4a184 | ||
|
|
e1a5b326e4 | ||
|
|
8892f3735d | ||
|
|
9eedd4ef84 | ||
|
|
b70dcb9f2d | ||
|
|
008a5a1ff9 | ||
|
|
5b7eb42a9f | ||
|
|
35d4cd2259 | ||
|
|
5bff9c773a | ||
|
|
6efb3c327f | ||
|
|
1a05d9a8cd | ||
|
|
df51c13323 | ||
|
|
a025866bac | ||
|
|
2797f3d80e | ||
|
|
0d85193f39 | ||
|
|
4d534fed31 | ||
|
|
43212f64ed | ||
|
|
75559df89d | ||
|
|
3d5156ed1d | ||
|
|
aa76fd2f9c | ||
|
|
db141f66a4 | ||
|
|
fe07deb193 | ||
|
|
7159e24aa8 | ||
|
|
1cc90d31ae | ||
|
|
76bf3ee0d6 | ||
|
|
fd3dd225ba | ||
|
|
140808e3d4 | ||
|
|
edb5a32620 | ||
|
|
88e2d73d52 | ||
|
|
7b95fea77e | ||
|
|
20eb5c4913 | ||
|
|
bc2d2456ae | ||
|
|
064531ea1f | ||
|
|
80b8508dbc | ||
|
|
02e073a503 | ||
|
|
e094d683ed | ||
|
|
bd1454c69f | ||
|
|
b726d645c3 | ||
|
|
78441ce084 | ||
|
|
4953fa4034 | ||
|
|
1f76effbfb | ||
|
|
5e20237f5b | ||
|
|
dd44d0a713 | ||
|
|
a28c040eb9 | ||
|
|
6a787dd951 | ||
|
|
5d9132623f | ||
|
|
f7193b09fd | ||
|
|
498d226b2f | ||
|
|
ccc51244e3 | ||
|
|
516f49e913 | ||
|
|
a2ab3bc32c | ||
|
|
ab4a8396e1 | ||
|
|
733cb397b2 | ||
|
|
7f9a2325e5 | ||
|
|
625b3b7ec1 | ||
|
|
c95d446c53 | ||
|
|
6e749ef12f | ||
|
|
850dd87332 | ||
|
|
fb3e9b020e | ||
|
|
02a348b657 | ||
|
|
5c41dc3901 | ||
|
|
74a3c55623 | ||
|
|
bc8c8a6cd9 | ||
|
|
99bc72a908 | ||
|
|
aab8bb262d | ||
|
|
f14a4ef8e5 | ||
|
|
3bf50856ce | ||
|
|
c3e55aa5ae | ||
|
|
704548336a | ||
|
|
0ea5e12b4a | ||
|
|
28fd240de2 | ||
|
|
586c0e6d62 | ||
|
|
c920eaa9be | ||
|
|
d2f210d70d | ||
|
|
683036298e | ||
|
|
93b536863f | ||
|
|
403f4eb7a7 | ||
|
|
4c71f3c5cd | ||
|
|
106e4cae90 | ||
|
|
10221d51f1 | ||
|
|
aff87c3cb3 | ||
|
|
b0f640db61 | ||
|
|
af0fed2e34 | ||
|
|
e996f2f51a | ||
|
|
0fe18d0dc1 | ||
|
|
cc6c45d7fb | ||
|
|
2646c6c159 | ||
|
|
ce66352f6d | ||
|
|
9e133adf99 | ||
|
|
b1851f2aff | ||
|
|
b943e0abff | ||
|
|
d6d556911b | ||
|
|
b8ecd2d6dd | ||
|
|
1e5ef005fb | ||
|
|
d11db0f0f2 | ||
|
|
8e43e72082 | ||
|
|
ae86a253e2 | ||
|
|
0c38147fcb | ||
|
|
e1ea64b0b9 | ||
|
|
fa35e792c1 | ||
|
|
f5807424c2 | ||
|
|
4c006959fa | ||
|
|
f9a19e3f24 | ||
|
|
d5c24f5122 | ||
|
|
392e404cc6 | ||
|
|
b04e067c83 | ||
|
|
ed2937f4d1 | ||
|
|
8848006540 | ||
|
|
7a4fe458b8 | ||
|
|
f76faa88b8 | ||
|
|
9ce760c798 | ||
|
|
152ebe6e61 | ||
|
|
1a6eb80bcd | ||
|
|
745bceac22 | ||
|
|
583f3b0e21 | ||
|
|
cc9c72747a | ||
|
|
b473f7a271 | ||
|
|
b726ace943 | ||
|
|
499edda1d7 | ||
|
|
3bfd91de51 | ||
|
|
c7e139186b | ||
|
|
7c84490649 | ||
|
|
b75ef17db7 | ||
|
|
daa12e97c6 | ||
|
|
1c5eb82e93 | ||
|
|
ff387010b3 | ||
|
|
27dd805acb | ||
|
|
5f1761645f | ||
|
|
f8c9282e8c | ||
|
|
37f46df390 | ||
|
|
4f8138c70a | ||
|
|
db3b4773bc | ||
|
|
fe04103e24 | ||
|
|
7777bb6d58 | ||
|
|
e9bcd9e0bd | ||
|
|
2cc2c22094 | ||
|
|
319000b448 | ||
|
|
b4ba76a15a | ||
|
|
3ff0785fe7 | ||
|
|
1b7d3b0502 | ||
|
|
c43711a216 | ||
|
|
3c86d811c8 | ||
|
|
d94c1d2143 | ||
|
|
3fd475e1d5 | ||
|
|
309a6cd65e | ||
|
|
924f6dc76d | ||
|
|
56a9a7cebf | ||
|
|
b8cbb18f7b | ||
|
|
27caf0ef3d | ||
|
|
b203ccbe74 | ||
|
|
cb962d5a74 | ||
|
|
539800cc3b | ||
|
|
b77ae3e0b5 | ||
|
|
dfc3f9e13c | ||
|
|
f120551ef3 | ||
|
|
b03a4cde78 | ||
|
|
71b2081a75 | ||
|
|
5fbc3ae3d5 | ||
|
|
1ce37e53c7 | ||
|
|
9ae12a7c22 | ||
|
|
b3deef5e80 | ||
|
|
28317ecb34 | ||
|
|
78efa7613d | ||
|
|
0bf26d8f1d | ||
|
|
ac70eb701c | ||
|
|
c834f241a8 | ||
|
|
aa39b392a9 | ||
|
|
907ddb614d | ||
|
|
dd0e3feae3 | ||
|
|
c24207428c | ||
|
|
8b23026d6c | ||
|
|
cc9b7aa7dd | ||
|
|
318a41d723 | ||
|
|
5a52177d15 | ||
|
|
2e8c43215d | ||
|
|
45966deb49 | ||
|
|
7aa644da5c | ||
|
|
56379532a6 | ||
|
|
9bf0755c81 | ||
|
|
f01d1d1064 | ||
|
|
e9b0ecf021 | ||
|
|
cbc6f38774 | ||
|
|
e220b76c3e | ||
|
|
8d1bf96267 | ||
|
|
e49922064d | ||
|
|
95882fce68 | ||
|
|
cc20ab3392 | ||
|
|
fe50ed29ea | ||
|
|
e9db2caace | ||
|
|
2d55aea467 | ||
|
|
521c2c3e06 | ||
|
|
0bc8d8252e | ||
|
|
80f4022891 | ||
|
|
998af2a3ab | ||
|
|
3b820e8c0c | ||
|
|
8bc19e28e0 | ||
|
|
0d0516ad05 | ||
|
|
6997026064 | ||
|
|
dd1b6502c6 | ||
|
|
d1013e82de | ||
|
|
bb2d058167 | ||
|
|
6e58c43d8a | ||
|
|
dce4eb636a | ||
|
|
c170255580 | ||
|
|
8bf0938e60 | ||
|
|
aa831836e1 | ||
|
|
0eb1520707 | ||
|
|
606346761f | ||
|
|
48e1488bc9 | ||
|
|
0259b6adfb |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1,3 +1,5 @@
|
||||
/cache
|
||||
/shims
|
||||
/version
|
||||
/versions
|
||||
/sources
|
||||
|
||||
8
.travis.yml
Normal file
8
.travis.yml
Normal file
@@ -0,0 +1,8 @@
|
||||
install: git clone https://github.com/sstephenson/bats.git
|
||||
script: bats/bin/bats --tap test
|
||||
after_script:
|
||||
- bats/bin/bats --tap plugins/python-build/test
|
||||
language: c
|
||||
notifications:
|
||||
email:
|
||||
on_success: never
|
||||
111
CHANGELOG.md
Normal file
111
CHANGELOG.md
Normal file
@@ -0,0 +1,111 @@
|
||||
## Version History
|
||||
|
||||
#### 0.4.0-20140123
|
||||
|
||||
* pyenv: Always append the directory at the top of the `$PATH` to return proper value for `sys.executable` (#98)
|
||||
* pyenv: Unset `GREP_OPTIONS` to avoid issues of conflicting options (#101)
|
||||
* python-build: Install `pip` with using `ensurepip` if available
|
||||
* python-build: Add support for framework installation (`--enable-framework`) of CPython (#55, #99)
|
||||
* python-build: Import recent changes from ruby-build v20140110.1
|
||||
* python-build: Import `bats` tests from ruby-build v20140110.1
|
||||
|
||||
#### 0.4.0-20140110.1
|
||||
|
||||
* python-build: Fix build error of CPython 2.x on the platform where the `gcc` is llvm-gcc.
|
||||
|
||||
#### 0.4.0-20140110
|
||||
|
||||
* pyenv: Reliably detect parent shell in `pyenv init` (#93)
|
||||
* pyenv: Import recent changes from rbenv 0.4.0
|
||||
* pyenv: Import `bats` tests from rbenv 0.4.0
|
||||
* python-build: Add new CPython releases candidates; 3.4.0b2
|
||||
* python-build: Add ruby-build style patching feature (#91)
|
||||
* python-build: Set `RPATH` if `--enable-shared` was given (#65, #66, 82)
|
||||
* python-build: Update default setuptools version (2.0 -> 2.1)
|
||||
* python-build: Update default pip version (1.4.1 -> 1.5)
|
||||
* python-build: Activate friendly CPython during build if the one is not activated (8fa6b4a1847851919ad7857c6c42ed809a4d277b)
|
||||
* python-build: Fix broken install.sh
|
||||
* python-build: Import recent changes from ruby-build v20131225.1
|
||||
* version-ext-compat: Removed from default plugin. Please use [pyenv-version-ext](https://github.com/yyuu/pyenv-version-ext) instead.
|
||||
|
||||
#### 0.4.0-20131217
|
||||
|
||||
* python-build: Fix broken build of CPython 3.3+ on Darwin
|
||||
* python-build: Not build GNU Readline uselessly on Darwin
|
||||
|
||||
#### 0.4.0-20131216
|
||||
|
||||
* python-build: Add new CPython releases; 3.3.3 (#80)
|
||||
* python-build: Add new CPython releases candidates; 3.4.0b1
|
||||
* python-build: Add new PyPy releases; pypy-2.2.1, pypy-2.2.1-src
|
||||
* python-build: Update default setuptools version (1.3.2 -> 2.0)
|
||||
* python-build: Imported recent changes from ruby-build v20131211
|
||||
* pyenv: Fix pyenv-prefix to trim "/bin" in `pyenv prefix system` (#88)
|
||||
|
||||
#### 0.4.0-20131116
|
||||
|
||||
* python-build: Add new CPython releases; 2.6.9, 2.7.6 (#76)
|
||||
* python-build: Add new CPython release candidates; 3.3.3-rc1, 3.3.3-rc2
|
||||
* python-build: Add new PyPy releases; pypy-2.2, pypy-2.2-src (#77)
|
||||
* python-build: Update default setuptools version (1.1.6 -> 1.3.2)
|
||||
* python-build: Imported recent changes from ruby-build v20131030
|
||||
|
||||
#### 0.4.0-20131023
|
||||
|
||||
* pyenv: Improved [fish shell](http://fishshell.com/) support
|
||||
* python-build: Add new PyPy releases; pypy-2.1, pypy-2.1-src, pypy3-2.1-beta1, pypy3-2.1-beta1-src
|
||||
* python-build: Add ancient versions; 2.4, 2.4.1, 2.4.3, 2.4.4 and 2.4.5
|
||||
* python-build: Add alpha releases; 3.4.0a2, 3.4.0a3, 3.4.0a4
|
||||
* python-build: Update default pip version (1.4 -> 1.4.1)
|
||||
* python-build: Update default setuptools version (0.9.7 -> 1.1.6)
|
||||
|
||||
#### 0.4.0-20130726
|
||||
|
||||
* pyenv: Fix minor issue of variable scope in `pyenv versions`
|
||||
* python-build: Update base version to ruby-build v20130628
|
||||
* python-build: Use brew managed OpenSSL and GNU Readline if they are available
|
||||
* python-build: Fix build of CPython 3.3+ on OS X (#29)
|
||||
* python-build: Fix build of native modules of CPython 2.5 on OS X (#33)
|
||||
* python-build: Fix build of CPython 2.6+ on openSUSE (#36)
|
||||
* python-build: Add ancient versions; 2.4.2 and 2.4.6. The build might be broken. (#37)
|
||||
* python-build: Update default pip version (1.3.1 -> 1.4)
|
||||
* python-build: Update default setuptools version (0.7.2 -> 0.9.7)
|
||||
|
||||
#### 0.4.0-20130613
|
||||
|
||||
* pyenv: Changed versioning schema. There are two parts; the former is the base rbenv version, and the latter is the date of release.
|
||||
* python-build: Add `--debug` option to build CPython with debug symbols. (#11)
|
||||
* python-build: Add new CPython versions: 2.7.4, 2.7.5, 3.2.4, 3.2.5, 3.3.1, 3.3.2 (#12, #17)
|
||||
* python-build: Add `svnversion` patch for old CPython versions (#14)
|
||||
* python-build: Enable mirror by default for faster download (#20)
|
||||
* python-build: Add `OPENSSL_NO_SSL2` patch for old CPython versions (#22)
|
||||
* python-build: Install GNU Readline on Darwin if the system one is broken (#23)
|
||||
* python-build: Bundle patches in `${PYTHON_BUILD_ROOT}/share/python-build/patches` and improve patching mechanism (`apply_patches`).
|
||||
* python-build: Verify native extensions after building. (`build_package_verify_py*`)
|
||||
* python-build: Add `install_hg` to install package from Mercurial repository
|
||||
* python-build: Support building Jython and PyPy.
|
||||
* python-build: Add new CPython development versions: 2.6-dev, 2.7-dev, 3.1-dev, 3.2-dev, 3.3-dev, 3.4-dev
|
||||
* python-build: Add new Jython development versions: jython-2.5.4-rc1, jython-2.5-dev, jython-2.7-beta1, jython-dev
|
||||
* python-build: Add new PyPy versions: pypy-1.5{,-src}, pypy-1.6, pypy-1.7, pypy-2.0{,-src}, pypy-2.0.1{,-src}, pypy-2.0.2{,-src}
|
||||
* python-build: Add new PyPy development versions: pypy-1.7-dev, pypy-1.8-dev, pypy-1.9-dev, pypy-2.0-dev, pypy-dev, pypy-py3k-dev
|
||||
* python-build: Add new Stackless development versions: stackless-2.7-dev, stackless-3.2-dev, stackless-3.3-dev, stackless-dev
|
||||
* python-build: Update default pip version (1.2.1 -> 1.3.1)
|
||||
* python-build: Update default setuptools version (0.6.34 (distribute) -> 0.7.2 ([new setuptools](https://bitbucket.org/pypa/setuptools)))
|
||||
|
||||
#### 0.2.0 (February 18, 2013)
|
||||
|
||||
* Import changes from rbenv 0.4.0.
|
||||
|
||||
#### 0.1.2 (October 23, 2012)
|
||||
|
||||
* Add push/pop for version stack management.
|
||||
* Support multiple versions via environment variable.
|
||||
* Now GCC is not a requirement to build CPython and Stackless.
|
||||
|
||||
#### 0.1.1 (September 3, 2012)
|
||||
|
||||
* Support multiple versions of Python at a time.
|
||||
|
||||
#### 0.1.0 (August 31, 2012)
|
||||
|
||||
* Initial public release.
|
||||
4
LICENSE
4
LICENSE
@@ -1,5 +1,5 @@
|
||||
Copyright (c) 2011 Sam Stephenson
|
||||
Copyright (c) 2012 Yamashita, Yuu
|
||||
Copyright (c) 2013 Yamashita, Yuu
|
||||
Copyright (c) 2013 Sam Stephenson
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
|
||||
151
README.md
151
README.md
@@ -1,5 +1,7 @@
|
||||
# Simple Python Version Management: pyenv
|
||||
|
||||
[](https://travis-ci.org/yyuu/pyenv)
|
||||
|
||||
pyenv lets you easily switch between multiple versions of Python. It's
|
||||
simple, unobtrusive, and follows the UNIX tradition of single-purpose
|
||||
tools that do one thing well.
|
||||
@@ -20,12 +22,12 @@ This project was forked from [rbenv](https://github.com/sstephenson/rbenv) and
|
||||
|
||||
### In contrast with pythonbrew and pythonz, pyenv _does not..._
|
||||
|
||||
* **Depending on Python itself.** pyenv was made from pure shell scripts.
|
||||
* **Depend on Python itself.** pyenv was made from pure shell scripts.
|
||||
There is no bootstrap problem of Python.
|
||||
* **Need to be loaded into your shell.** Instead, pyenv's shim
|
||||
approach works by adding a directory to your `$PATH`.
|
||||
* **Manage virtualenv.** Of course, you can create [virtualenv](http://pypi.python.org/pypi/virtualenv)
|
||||
yourself, or [python-virtualenv](https://github.com/yyuu/python-virtualenv)
|
||||
yourself, or [pyenv-virtualenv](https://github.com/yyuu/pyenv-virtualenv)
|
||||
to automate the process.
|
||||
|
||||
## Table of Contents
|
||||
@@ -38,6 +40,7 @@ This project was forked from [rbenv](https://github.com/sstephenson/rbenv) and
|
||||
* [Installation](#installation)
|
||||
* [Basic GitHub Checkout](#basic-github-checkout)
|
||||
* [Upgrading](#upgrading)
|
||||
* [Homebrew on Mac OS X](#homebrew-on-mac-os-x)
|
||||
* [Neckbeard Configuration](#neckbeard-configuration)
|
||||
* [Uninstalling Python Versions](#uninstalling-python-versions)
|
||||
* [Command Reference](#command-reference)
|
||||
@@ -128,8 +131,8 @@ Each Python version is installed into its own directory under
|
||||
`~/.pyenv/versions`. For example, you might have these versions
|
||||
installed:
|
||||
|
||||
* `~/.pyenv/versions/2.7.3/`
|
||||
* `~/.pyenv/versions/3.3.0/`
|
||||
* `~/.pyenv/versions/2.7.5/`
|
||||
* `~/.pyenv/versions/3.3.2/`
|
||||
* `~/.pyenv/versions/pypy-1.9/`
|
||||
|
||||
Version names to pyenv are simply the names of the directories in
|
||||
@@ -137,38 +140,52 @@ Version names to pyenv are simply the names of the directories in
|
||||
|
||||
## Installation
|
||||
|
||||
If you're on Mac OS X, consider
|
||||
[installing with Homebrew](#homebrew-on-mac-os-x).
|
||||
|
||||
### Basic GitHub Checkout
|
||||
|
||||
This will get you going with the latest version of pyenv and make it
|
||||
easy to fork and contribute any changes back upstream.
|
||||
|
||||
1. Check out pyenv into `~/.pyenv`.
|
||||
1. Check out pyenv where you want it installed. A good place to choose is
|
||||
`$HOME/.pyenv` but you may install it somewhere else.
|
||||
|
||||
$ cd
|
||||
$ git clone git://github.com/yyuu/pyenv.git .pyenv
|
||||
|
||||
2. Add `~/.pyenv/bin` to your `$PATH` for access to the `pyenv`
|
||||
command-line utility.
|
||||
|
||||
$ echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.bash_profile
|
||||
2. Define environment variable `PYENV_ROOT` to point to the path where
|
||||
pyenv repo is cloned and add `$PYENV_ROOT/bin` to your `$PATH` for access
|
||||
to the `pyenv` command-line utility.
|
||||
|
||||
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
|
||||
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
|
||||
|
||||
**Zsh note**: Modify your `~/.zshenv` file instead of `~/.bash_profile`.
|
||||
**Ubuntu note**: Modify your `~/.bashrc` file instead of `~/.bash_profile`.
|
||||
|
||||
3. Add pyenv init to your shell to enable shims and autocompletion.
|
||||
|
||||
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
|
||||
|
||||
**Zsh note**: Modify your `~/.zshenv` file instead of `~/.bash_profile`.
|
||||
**Ubuntu note**: Modify your `~/.bashrc` file instead of `~/.bash_profile`.
|
||||
|
||||
4. Restart your shell so the path changes take effect. You can now
|
||||
begin using pyenv.
|
||||
|
||||
$ exec $SHELL
|
||||
|
||||
5. Install Python versions into `~/.pyenv/versions`. For example, to
|
||||
install Python 2.7.3, download and unpack the source, then run:
|
||||
5. Install Python versions into `$PYENV_ROOT/versions`. For example, to
|
||||
install Python 2.7.5, download and unpack the source, then run:
|
||||
|
||||
$ pyenv install 2.7.3
|
||||
$ pyenv install 2.7.5
|
||||
|
||||
**NOTE** If you need to pass configure option to build, please use
|
||||
```CONFIGURE_OPTS``` environment variable.
|
||||
|
||||
**NOTE** If you are having trouble installing a python version please visit the wiki page about [Common Build Problems](https://github.com/yyuu/pyenv/wiki/Common-build-problems)
|
||||
|
||||
6. Rebuild the shim binaries. You should do this any time you install
|
||||
a new Python binary (for example, when installing a new Python version,
|
||||
@@ -195,6 +212,23 @@ tag:
|
||||
v0.1.0
|
||||
$ git checkout v0.1.0
|
||||
|
||||
### Homebrew on Mac OS X
|
||||
|
||||
You can also install pyenv using the
|
||||
[Homebrew](http://brew.sh) package manager on Mac OS
|
||||
X.
|
||||
|
||||
~~~
|
||||
$ brew update
|
||||
$ brew install pyenv
|
||||
~~~
|
||||
|
||||
To later update these installs, use `upgrade` instead of `install`.
|
||||
|
||||
Afterwards you'll still need to add `eval "$(pyenv init -)"` to your
|
||||
profile as stated in the caveats. You'll only ever have to do this
|
||||
once.
|
||||
|
||||
### Neckbeard Configuration
|
||||
|
||||
Skip this section unless you must know what every line in your shell
|
||||
@@ -253,7 +287,7 @@ overrides the global version, and can be overridden itself by setting
|
||||
the `PYENV_VERSION` environment variable or with the `pyenv shell`
|
||||
command.
|
||||
|
||||
$ pyenv local 2.7.3
|
||||
$ pyenv local 2.7.5
|
||||
|
||||
When run without a version number, `pyenv local` reports the currently
|
||||
configured local version. You can also unset the local version:
|
||||
@@ -270,30 +304,16 @@ read a local version specified in an `.pyenv-version` file, but a
|
||||
You can specify multiple versions as local Python. Commands
|
||||
within these Python versions are searched by specified order.
|
||||
|
||||
$ pyenv local 2.7.3 3.2.3
|
||||
$ pyenv local 2.7.5 3.2.5
|
||||
$ pyenv local
|
||||
2.7.3
|
||||
3.2.3
|
||||
2.7.5
|
||||
3.2.5
|
||||
$ pyenv which python2.7
|
||||
/home/yyuu/.pyenv/versions/2.7.3/bin/python2.7
|
||||
/home/yyuu/.pyenv/versions/2.7.5/bin/python2.7
|
||||
$ pyenv which python3.2
|
||||
/home/yyuu/.pyenv/versions/3.2.3/bin/python3.2
|
||||
/home/yyuu/.pyenv/versions/3.2.5/bin/python3.2
|
||||
$ pyenv which python
|
||||
/home/yyuu/.pyenv/versions/2.7.3/bin/python
|
||||
|
||||
You can manage your version stack by `pyenv push` and `pyenv pop`.
|
||||
|
||||
$ pyenv local
|
||||
2.7.3
|
||||
3.2.3
|
||||
$ pyenv push 3.3.0
|
||||
$ pyenv local
|
||||
2.7.3
|
||||
3.2.3
|
||||
3.3.0
|
||||
$ pyenv pop
|
||||
2.7.3
|
||||
3.2.3
|
||||
/home/yyuu/.pyenv/versions/2.7.5/bin/python
|
||||
|
||||
### pyenv global
|
||||
|
||||
@@ -302,7 +322,7 @@ the version name to the `~/.pyenv/version` file. This version can be
|
||||
overridden by an application-specific `.python-version` file, or by
|
||||
setting the `PYENV_VERSION` environment variable.
|
||||
|
||||
$ pyenv global 2.7.3
|
||||
$ pyenv global 2.7.5
|
||||
|
||||
The special version name `system` tells pyenv to use the system Python
|
||||
(detected by searching your `$PATH`).
|
||||
@@ -315,30 +335,16 @@ currently configured global version.
|
||||
You can specify multiple versions as global Python. Commands
|
||||
within these Python versions are searched by specified order.
|
||||
|
||||
$ pyenv global 2.7.3 3.2.3
|
||||
$ pyenv global 2.7.5 3.2.5
|
||||
$ pyenv global
|
||||
2.7.3
|
||||
3.2.3
|
||||
2.7.5
|
||||
3.2.5
|
||||
$ pyenv which python2.7
|
||||
/home/yyuu/.pyenv/versions/2.7.3/bin/python2.7
|
||||
/home/yyuu/.pyenv/versions/2.7.5/bin/python2.7
|
||||
$ pyenv which python3.2
|
||||
/home/yyuu/.pyenv/versions/3.2.3/bin/python3.2
|
||||
/home/yyuu/.pyenv/versions/3.2.5/bin/python3.2
|
||||
$ pyenv which python
|
||||
/home/yyuu/.pyenv/versions/2.7.3/bin/python
|
||||
|
||||
You can manage your version stack by `pyenv push` and `pyenv pop`.
|
||||
|
||||
$ pyenv global
|
||||
2.7.3
|
||||
3.2.3
|
||||
$ pyenv push 3.3.0
|
||||
$ pyenv global
|
||||
2.7.3
|
||||
3.2.3
|
||||
3.3.0
|
||||
$ pyenv pop
|
||||
2.7.3
|
||||
3.2.3
|
||||
/home/yyuu/.pyenv/versions/2.7.5/bin/python
|
||||
|
||||
### pyenv shell
|
||||
|
||||
@@ -365,12 +371,12 @@ prefer not to use shell integration, you may simply set the
|
||||
You can specify multiple versions via `PYENV_VERSION`
|
||||
environment variable in your shell.
|
||||
|
||||
$ pyenv shell pypy-1.9 2.7.3
|
||||
$ pyenv shell pypy-1.9 2.7.5
|
||||
$ echo $PYENV_VERSION
|
||||
pypy-1.9:2.7.3
|
||||
pypy-1.9:2.7.5
|
||||
$ pyenv version
|
||||
pypy-1.9 (set by PYENV_VERSION environment variable)
|
||||
2.7.3 (set by PYENV_VERSION environment variable)
|
||||
2.7.5 (set by PYENV_VERSION environment variable)
|
||||
|
||||
### pyenv versions
|
||||
|
||||
@@ -380,8 +386,8 @@ the currently active version.
|
||||
$ pyenv versions
|
||||
2.5.6
|
||||
2.6.8
|
||||
* 2.7.3 (set by /home/yyuu/.pyenv/version)
|
||||
3.2.3
|
||||
* 2.7.5 (set by /home/yyuu/.pyenv/version)
|
||||
3.2.5
|
||||
jython-2.5.3
|
||||
pypy-1.9
|
||||
|
||||
@@ -391,7 +397,7 @@ Displays the currently active Python version, along with information on
|
||||
how it was set.
|
||||
|
||||
$ pyenv version
|
||||
2.7.3 (set by /home/yyuu/.pyenv/version)
|
||||
2.7.5 (set by /home/yyuu/.pyenv/version)
|
||||
|
||||
### pyenv rehash
|
||||
|
||||
@@ -407,7 +413,7 @@ Displays the full path to the executable that pyenv will invoke when
|
||||
you run the given command.
|
||||
|
||||
$ pyenv which python3.2
|
||||
/home/yyuu/.pyenv/versions/3.2.3/bin/python3.2
|
||||
/home/yyuu/.pyenv/versions/3.2.5/bin/python3.2
|
||||
|
||||
### pyenv whence
|
||||
|
||||
@@ -415,8 +421,8 @@ Lists all Python versions with the given command installed.
|
||||
|
||||
$ pyenv whence 2to3
|
||||
2.6.8
|
||||
2.7.3
|
||||
3.2.3
|
||||
2.7.5
|
||||
3.2.5
|
||||
|
||||
## Development
|
||||
|
||||
@@ -429,30 +435,15 @@ tracker](https://github.com/yyuu/pyenv/issues).
|
||||
|
||||
### Version History
|
||||
|
||||
**0.2.0** (February 18, 2013)
|
||||
See CHANGELOG.md.
|
||||
|
||||
* Import changes from rbenv 0.4.0.
|
||||
|
||||
**0.1.2** (October 23, 2012)
|
||||
|
||||
* Add push/pop for version stack management.
|
||||
* Support multiple versions via environment variable.
|
||||
* Now GCC is not a requirement to build CPython and Stackless.
|
||||
|
||||
**0.1.1** (September 3, 2012)
|
||||
|
||||
* Support multiple versions of Python at a time.
|
||||
|
||||
**0.1.0** (August 31, 2012)
|
||||
|
||||
* Initial public release.
|
||||
|
||||
### License
|
||||
|
||||
(The MIT license)
|
||||
|
||||
* Copyright (c) 2011 Sam Stephenson
|
||||
* Copyright (c) 2012 Yamashita, Yuu
|
||||
* Copyright (c) 2013 Yamashita, Yuu
|
||||
* Copyright (c) 2013 Sam Stephenson
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
|
||||
22
completions/pyenv.fish
Normal file
22
completions/pyenv.fish
Normal file
@@ -0,0 +1,22 @@
|
||||
function __fish_pyenv_needs_command
|
||||
set cmd (commandline -opc)
|
||||
if [ (count $cmd) -eq 1 -a $cmd[1] = 'pyenv' ]
|
||||
return 0
|
||||
end
|
||||
return 1
|
||||
end
|
||||
|
||||
function __fish_pyenv_using_command
|
||||
set cmd (commandline -opc)
|
||||
if [ (count $cmd) -gt 1 ]
|
||||
if [ $argv[1] = $cmd[2] ]
|
||||
return 0
|
||||
end
|
||||
end
|
||||
return 1
|
||||
end
|
||||
|
||||
complete -f -c pyenv -n '__fish_pyenv_needs_command' -a '(pyenv commands)'
|
||||
for cmd in (pyenv commands)
|
||||
complete -f -c pyenv -n "__fish_pyenv_using_command $cmd" -a "(pyenv completions $cmd)"
|
||||
end
|
||||
@@ -11,7 +11,7 @@ _pyenv() {
|
||||
if [ "${#words}" -eq 2 ]; then
|
||||
completions="$(pyenv commands)"
|
||||
else
|
||||
completions="$(pyenv completions "${words[2,-1]}")"
|
||||
completions="$(pyenv completions "${words[2,-2]}")"
|
||||
fi
|
||||
|
||||
reply=("${(ps:\n:)completions}")
|
||||
|
||||
@@ -1,9 +1,27 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
[ -n "$PYENV_DEBUG" ] && set -x
|
||||
export -n CDPATH
|
||||
|
||||
if [ "$1" = "--debug" ]; then
|
||||
export PYENV_DEBUG=1
|
||||
shift
|
||||
fi
|
||||
|
||||
if [ -n "$PYENV_DEBUG" ]; then
|
||||
export PS4='+ [${BASH_SOURCE##*/}:${LINENO}] '
|
||||
set -x
|
||||
fi
|
||||
|
||||
READLINK=$(type -p greadlink readlink | head -1)
|
||||
if [ -z "$READLINK" ]; then
|
||||
echo "pyenv: cannot find readlink - are you missing GNU coreutils?" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
unset GREP_OPTIONS
|
||||
|
||||
resolve_link() {
|
||||
$(type -p greadlink readlink | head -1) "$1"
|
||||
$READLINK "$1"
|
||||
}
|
||||
|
||||
abs_dirname() {
|
||||
|
||||
@@ -12,10 +12,11 @@
|
||||
set -e
|
||||
[ -n "$PYENV_DEBUG" ] && set -x
|
||||
|
||||
version="0.2.0"
|
||||
version="0.4.0-20140123"
|
||||
|
||||
cd "$PYENV_ROOT"
|
||||
git_revision="$(git describe --tags HEAD 2>/dev/null || true)"
|
||||
git_revision="${git_revision#v}"
|
||||
if cd "$PYENV_ROOT" 2>/dev/null; then
|
||||
git_revision="$(git describe --tags HEAD 2>/dev/null || true)"
|
||||
git_revision="${git_revision#v}"
|
||||
fi
|
||||
|
||||
echo "pyenv ${git_revision:-$version}"
|
||||
|
||||
@@ -20,9 +20,11 @@ elif [ "$1" = "--no-sh" ]; then
|
||||
shift
|
||||
fi
|
||||
|
||||
IFS=: paths=($PATH)
|
||||
|
||||
shopt -s nullglob
|
||||
|
||||
{ for path in ${PATH//:/$'\n'}; do
|
||||
{ for path in "${paths[@]}"; do
|
||||
for command in "${path}/pyenv-"*; do
|
||||
command="${command##*pyenv-}"
|
||||
if [ -n "$sh" ]; then
|
||||
|
||||
@@ -11,7 +11,7 @@ if [ -z "$COMMAND" ]; then
|
||||
fi
|
||||
|
||||
COMMAND_PATH="$(command -v "pyenv-$COMMAND" || command -v "pyenv-sh-$COMMAND")"
|
||||
if grep -i "^# provide pyenv completions" "$COMMAND_PATH" >/dev/null; then
|
||||
if grep -iE "^([#%]|--|//) provide pyenv completions" "$COMMAND_PATH" >/dev/null; then
|
||||
shift
|
||||
exec "$COMMAND_PATH" --complete "$@"
|
||||
fi
|
||||
|
||||
@@ -7,11 +7,11 @@
|
||||
# Runs an executable by first preparing PATH so that the selected Python
|
||||
# version's `bin' directory is at the front.
|
||||
#
|
||||
# For example, if the currently selected Python version is 2.7.7:
|
||||
# For example, if the currently selected Python version is 2.7.6:
|
||||
# pyenv exec pip install -rrequirements.txt
|
||||
#
|
||||
# is equivalent to:
|
||||
# PATH="$PYENV_ROOT/versions/2.7.7/bin:$PATH" pip install -rrequirements.txt
|
||||
# PATH="$PYENV_ROOT/versions/2.7.6/bin:$PATH" pip install -rrequirements.txt
|
||||
|
||||
set -e
|
||||
[ -n "$PYENV_DEBUG" ] && set -x
|
||||
@@ -21,7 +21,7 @@ if [ "$1" = "--complete" ]; then
|
||||
exec pyenv shims --short
|
||||
fi
|
||||
|
||||
export PYENV_VERSION="$(pyenv-version-name)"
|
||||
PYENV_VERSION="$(pyenv-version-name)"
|
||||
PYENV_COMMAND="$1"
|
||||
|
||||
if [ -z "$PYENV_COMMAND" ]; then
|
||||
@@ -29,15 +29,19 @@ if [ -z "$PYENV_COMMAND" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
export PYENV_VERSION
|
||||
PYENV_COMMAND_PATH="$(pyenv-which "$PYENV_COMMAND")"
|
||||
PYENV_BIN_PATH="${PYENV_COMMAND_PATH%/*}"
|
||||
|
||||
for script in $(pyenv-hooks exec); do
|
||||
OLDIFS="$IFS"
|
||||
IFS=$'\n' scripts=(`pyenv-hooks exec`)
|
||||
IFS="$OLDIFS"
|
||||
for script in "${scripts[@]}"; do
|
||||
source "$script"
|
||||
done
|
||||
|
||||
shift 1
|
||||
if [ "$PYENV_VERSION" != "system" ]; then
|
||||
export PATH="${PYENV_BIN_PATH}:${PATH}"
|
||||
fi
|
||||
# CPython's `sys.executable` requires the `PYENV_BIN_PATH` to be at the top of the `PATH`.
|
||||
# https://github.com/yyuu/pyenv/issues/98
|
||||
export PATH="${PYENV_BIN_PATH}:${PATH}"
|
||||
exec -a "$PYENV_COMMAND" "$PYENV_COMMAND_PATH" "$@"
|
||||
|
||||
@@ -27,12 +27,14 @@ PYENV_VERSION_FILE="${PYENV_ROOT}/version"
|
||||
if [ -n "$versions" ]; then
|
||||
pyenv-version-file-write "$PYENV_VERSION_FILE" "${versions[@]}"
|
||||
else
|
||||
OLDIFS="$IFS"
|
||||
IFS=: versions=($(
|
||||
pyenv-version-file-read "$PYENV_VERSION_FILE" ||
|
||||
pyenv-version-file-read "${PYENV_ROOT}/global" ||
|
||||
pyenv-version-file-read "${PYENV_ROOT}/default" ||
|
||||
echo system
|
||||
))
|
||||
IFS="$OLDIFS"
|
||||
for version in "${versions[@]}"; do
|
||||
echo "$version"
|
||||
done
|
||||
|
||||
@@ -64,8 +64,8 @@ collect_documentation() {
|
||||
}
|
||||
|
||||
function trim(str) {
|
||||
gsub(/^\n*/, "", str)
|
||||
gsub(/\n*$/, "", str)
|
||||
sub(/^\n*/, "", str)
|
||||
sub(/\n*$/, "", str)
|
||||
return str
|
||||
}
|
||||
|
||||
|
||||
@@ -19,13 +19,18 @@ if [ -z "$PYENV_COMMAND" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
READLINK=$(type -p greadlink readlink | head -1)
|
||||
if [ -z "$READLINK" ]; then
|
||||
echo "pyenv: cannot find readlink - are you missing GNU coreutils?" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
resolve_link() {
|
||||
$(type -p greadlink readlink | head -1) $1
|
||||
$READLINK "$1"
|
||||
}
|
||||
|
||||
realpath() {
|
||||
local cwd="$(pwd)"
|
||||
local base="$(basename $1)"
|
||||
local path="$1"
|
||||
|
||||
while [ -n "$path" ]; do
|
||||
@@ -34,13 +39,15 @@ realpath() {
|
||||
path="$(resolve_link "$name" || true)"
|
||||
done
|
||||
|
||||
echo "$(pwd)/$base"
|
||||
echo "$(pwd)/$name"
|
||||
cd "$cwd"
|
||||
}
|
||||
|
||||
IFS=: hook_paths=($PYENV_HOOK_PATH)
|
||||
|
||||
shopt -s nullglob
|
||||
for path in ${PYENV_HOOK_PATH//:/$'\n'}; do
|
||||
for script in $path/"$PYENV_COMMAND"/*.bash; do
|
||||
for path in "${hook_paths[@]}"; do
|
||||
for script in "$path/$PYENV_COMMAND"/*.bash; do
|
||||
echo $(realpath $script)
|
||||
done
|
||||
done
|
||||
|
||||
@@ -11,7 +11,7 @@ for args in "$@"
|
||||
do
|
||||
if [ "$args" = "-" ]; then
|
||||
print=1
|
||||
shift
|
||||
shift
|
||||
fi
|
||||
|
||||
if [ "$args" = "--no-rehash" ]; then
|
||||
@@ -22,11 +22,20 @@ done
|
||||
|
||||
shell="$1"
|
||||
if [ -z "$shell" ]; then
|
||||
shell="$(basename "$SHELL")"
|
||||
shell="$(ps c -p "$PPID" -o 'ucomm=' 2>/dev/null || true)"
|
||||
shell="${shell##-}"
|
||||
shell="${shell%% *}"
|
||||
shell="$(basename "${shell:-$SHELL}")"
|
||||
fi
|
||||
|
||||
READLINK=$(type -p greadlink readlink | head -1)
|
||||
if [ -z "$READLINK" ]; then
|
||||
echo "pyenv: cannot find readlink - are you missing GNU coreutils?" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
resolve_link() {
|
||||
$(type -p greadlink readlink | head -1) $1
|
||||
$READLINK "$1"
|
||||
}
|
||||
|
||||
abs_dirname() {
|
||||
@@ -56,6 +65,9 @@ if [ -z "$print" ]; then
|
||||
ksh )
|
||||
profile='~/.profile'
|
||||
;;
|
||||
fish )
|
||||
profile='~/.config/fish/config.fish'
|
||||
;;
|
||||
* )
|
||||
profile='your profile'
|
||||
;;
|
||||
@@ -64,7 +76,14 @@ if [ -z "$print" ]; then
|
||||
{ echo "# Load pyenv automatically by adding"
|
||||
echo "# the following to ${profile}:"
|
||||
echo
|
||||
echo 'eval "$(pyenv init -)"'
|
||||
case "$shell" in
|
||||
fish )
|
||||
echo 'status --is-interactive; and . (pyenv init -|psub)'
|
||||
;;
|
||||
* )
|
||||
echo 'eval "$(pyenv init -)"'
|
||||
;;
|
||||
esac
|
||||
echo
|
||||
} >&2
|
||||
|
||||
@@ -73,23 +92,72 @@ fi
|
||||
|
||||
mkdir -p "${PYENV_ROOT}/"{shims,versions}
|
||||
|
||||
echo 'export PATH="'${PYENV_ROOT}'/shims:${PATH}"'
|
||||
if [[ ":${PATH}:" != *:"${PYENV_ROOT}/shims":* ]]; then
|
||||
case "$shell" in
|
||||
fish )
|
||||
echo "setenv PATH '${PYENV_ROOT}/shims' \$PATH"
|
||||
;;
|
||||
* )
|
||||
echo 'export PATH="'${PYENV_ROOT}'/shims:${PATH}"'
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
case "$shell" in
|
||||
bash | zsh )
|
||||
echo "source \"$root/completions/pyenv.${shell}\""
|
||||
;;
|
||||
fish )
|
||||
echo "setenv PYENV_SHELL $shell"
|
||||
;;
|
||||
* )
|
||||
echo "export PYENV_SHELL=$shell"
|
||||
;;
|
||||
esac
|
||||
|
||||
completion="${root}/completions/pyenv.${shell}"
|
||||
if [ -r "$completion" ]; then
|
||||
case "$shell" in
|
||||
fish ) echo ". '$completion'" ;;
|
||||
* ) echo "source '$completion'" ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
if [ -z "$no_rehash" ]; then
|
||||
echo 'pyenv rehash 2>/dev/null'
|
||||
fi
|
||||
|
||||
commands=(`pyenv-commands --sh`)
|
||||
case "$shell" in
|
||||
fish )
|
||||
cat <<EOS
|
||||
function pyenv
|
||||
set command \$argv[1]
|
||||
set -e argv[1]
|
||||
|
||||
switch "\$command"
|
||||
case ${commands[*]}
|
||||
eval (pyenv "sh-\$command" \$argv)
|
||||
case '*'
|
||||
command pyenv "\$command" \$argv
|
||||
end
|
||||
end
|
||||
EOS
|
||||
exit 0
|
||||
;;
|
||||
ksh )
|
||||
cat <<EOS
|
||||
function pyenv {
|
||||
typeset command
|
||||
EOS
|
||||
;;
|
||||
* )
|
||||
cat <<EOS
|
||||
pyenv() {
|
||||
local command
|
||||
EOS
|
||||
;;
|
||||
esac
|
||||
|
||||
IFS="|"
|
||||
cat <<EOS
|
||||
pyenv() {
|
||||
typeset command
|
||||
command="\$1"
|
||||
if [ "\$#" -gt 0 ]; then
|
||||
shift
|
||||
@@ -97,7 +165,7 @@ pyenv() {
|
||||
|
||||
case "\$command" in
|
||||
${commands[*]})
|
||||
eval \`pyenv "sh-\$command" "\$@"\`;;
|
||||
eval "\`pyenv "sh-\$command" "\$@"\`";;
|
||||
*)
|
||||
command pyenv "\$command" "\$@";;
|
||||
esac
|
||||
|
||||
@@ -38,14 +38,16 @@ versions=($@)
|
||||
if [ "$versions" = "--unset" ]; then
|
||||
rm -f .python-version .pyenv-version
|
||||
elif [ -n "$versions" ]; then
|
||||
if [ "$(PYENV_VERSION= pyenv-version-origin)" -ef .pyenv-version ]; then
|
||||
previous_file="$(PYENV_VERSION= pyenv-version-origin || true)"
|
||||
pyenv-version-file-write .python-version "${versions[@]}"
|
||||
if [ "$previous_file" -ef .pyenv-version ]; then
|
||||
rm -f .pyenv-version
|
||||
{ echo "pyenv: removed existing \`.pyenv-version' file and migrated"
|
||||
echo " local version specification to \`.python-version' file"
|
||||
} >&2
|
||||
fi
|
||||
pyenv-version-file-write .python-version "${versions[@]}"
|
||||
else
|
||||
OLDIFS="$IFS"
|
||||
IFS=: versions=($(
|
||||
pyenv-version-file-read .python-version ||
|
||||
pyenv-version-file-read .pyenv-version ||
|
||||
@@ -53,6 +55,7 @@ else
|
||||
exit 1
|
||||
} >&2
|
||||
))
|
||||
IFS="$OLDIFS"
|
||||
for version in "${versions[@]}"; do
|
||||
echo "$version"
|
||||
done
|
||||
|
||||
@@ -16,27 +16,41 @@ if [ "$1" = "--complete" ]; then
|
||||
fi
|
||||
|
||||
if [ -n "$1" ]; then
|
||||
versions=($@)
|
||||
IFS=: PYENV_VERSION="${versions[*]}"
|
||||
export PYENV_VERSION
|
||||
else
|
||||
IFS=: versions=($(pyenv-version-name))
|
||||
OLDIFS="$IFS"
|
||||
{ IFS=:
|
||||
export PYENV_VERSION="$*"
|
||||
}
|
||||
IFS="$OLDIFS"
|
||||
elif [ -z "$PYENV_VERSION" ]; then
|
||||
PYENV_VERSION="$(pyenv-version-name)"
|
||||
fi
|
||||
|
||||
PYENV_PREFIX_PATHS=()
|
||||
for version in "${versions[@]}"; do
|
||||
if [ "$version" = "system" ]; then
|
||||
PYTHON_PATH="$(pyenv-which python || true)"
|
||||
PYENV_PREFIX_PATH="${PYTHON_PATH%/*}"
|
||||
else
|
||||
PYENV_PREFIX_PATH="${PYENV_ROOT}/versions/${version}"
|
||||
fi
|
||||
if [ -d "$PYENV_PREFIX_PATH" ]; then
|
||||
PYENV_PREFIX_PATHS=("${PYENV_PREFIX_PATHS[@]}" "$PYENV_PREFIX_PATH")
|
||||
else
|
||||
echo "pyenv: version \`${version}' not installed" >&2
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
OLDIFS="$IFS"
|
||||
{ IFS=:
|
||||
for version in ${PYENV_VERSION}; do
|
||||
if [ "$version" = "system" ]; then
|
||||
if PYTHON_PATH="$(pyenv-which python 2>/dev/null)"; then
|
||||
PYENV_PREFIX_PATH="${PYTHON_PATH%/bin/*}"
|
||||
else
|
||||
echo "pyenv: system version not found in PATH" >&2
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
PYENV_PREFIX_PATH="${PYENV_ROOT}/versions/${version}"
|
||||
fi
|
||||
if [ -d "$PYENV_PREFIX_PATH" ]; then
|
||||
PYENV_PREFIX_PATHS=("${PYENV_PREFIX_PATHS[@]}" "$PYENV_PREFIX_PATH")
|
||||
else
|
||||
echo "pyenv: version \`${version}' not installed" >&2
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
}
|
||||
IFS="$OLDIFS"
|
||||
|
||||
IFS=: echo "${PYENV_PREFIX_PATHS[*]}"
|
||||
OLDIFS="$IFS"
|
||||
{ IFS=:
|
||||
echo "${PYENV_PREFIX_PATHS[*]}"
|
||||
}
|
||||
IFS="$OLDIFS"
|
||||
|
||||
@@ -17,7 +17,11 @@ mkdir -p "$SHIM_PATH"
|
||||
set -o noclobber
|
||||
{ echo > "$PROTOTYPE_SHIM_PATH"
|
||||
} 2>/dev/null ||
|
||||
{ echo "pyenv: cannot rehash: $PROTOTYPE_SHIM_PATH exists"
|
||||
{ if [ -w "$SHIM_PATH" ]; then
|
||||
echo "pyenv: cannot rehash: $PROTOTYPE_SHIM_PATH exists"
|
||||
else
|
||||
echo "pyenv: cannot rehash: $SHIM_PATH isn't writable"
|
||||
fi
|
||||
exit 1
|
||||
} >&2
|
||||
set +o noclobber
|
||||
@@ -78,9 +82,9 @@ remove_outdated_shims() {
|
||||
# registered for installation as a shim. In this way, plugins may call
|
||||
# `make_shims` with a glob to register many shims at once.
|
||||
make_shims() {
|
||||
local shims="$@"
|
||||
local shims=("$@")
|
||||
|
||||
for file in $shims; do
|
||||
for file in "${shims[@]}"; do
|
||||
local shim="${file##*/}"
|
||||
register_shim "$shim"
|
||||
done
|
||||
@@ -92,7 +96,7 @@ registered_shims=()
|
||||
registered_shims_index=""
|
||||
|
||||
# We will keep track of shims registered for installation with the
|
||||
# global `reigstered_shims` array and with a global search index
|
||||
# global `registered_shims` array and with a global search index
|
||||
# string. The array will let us iterate over all registered shims. The
|
||||
# index string will let us quickly check whether a shim with the given
|
||||
# name has been registered or not.
|
||||
@@ -140,7 +144,11 @@ make_shims ../versions/*/bin/*
|
||||
cd "$OLDPWD"
|
||||
|
||||
# Allow plugins to register shims.
|
||||
for script in $(pyenv-hooks rehash); do
|
||||
OLDIFS="$IFS"
|
||||
IFS=$'\n' scripts=(`pyenv-hooks rehash`)
|
||||
IFS="$OLDIFS"
|
||||
|
||||
for script in "${scripts[@]}"; do
|
||||
source "$script"
|
||||
done
|
||||
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
# Usage: pyenv pop <version>
|
||||
set -e
|
||||
[ -n "$PYENV_DEBUG" ] && set -x
|
||||
|
||||
IFS=: versions=($(pyenv-version-name))
|
||||
|
||||
length="${#versions[@]}"
|
||||
PYENV_VERSION_NAMES=()
|
||||
for ((i=0; i<length-1; i++)); do
|
||||
PYENV_VERSION_NAMES=("${PYENV_VERSION_NAMES[@]}" "${versions[$i]}")
|
||||
done
|
||||
|
||||
if [ -n "$PYENV_VERSION" ]; then
|
||||
IFS=: PYENV_VERSION="${PYENV_VERSION_NAMES[*]}"
|
||||
echo "export PYENV_VERSION=\"${PYENV_VERSION}\""
|
||||
else
|
||||
pyenv-version-file-write "$(pyenv-version-file)" "${PYENV_VERSION_NAMES[@]}"
|
||||
fi
|
||||
@@ -1,15 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
# Usage: pyenv push <version>
|
||||
set -e
|
||||
[ -n "$PYENV_DEBUG" ] && set -x
|
||||
|
||||
IFS=: PYENV_VERSION_NAMES=($(pyenv-version-name))
|
||||
versions=("$@")
|
||||
PYENV_VERSION_NAMES=("${PYENV_VERSION_NAMES[@]}" "${versions[@]}")
|
||||
|
||||
if [ -n "$PYENV_VERSION" ]; then
|
||||
IFS=: PYENV_VERSION="${PYENV_VERSION_NAMES[*]}"
|
||||
echo "export PYENV_VERSION=\"${PYENV_VERSION}\""
|
||||
else
|
||||
pyenv-version-file-write "$(pyenv-version-file)" "${PYENV_VERSION_NAMES[@]}"
|
||||
fi
|
||||
@@ -7,7 +7,17 @@ if [ "$1" = "--complete" ]; then
|
||||
exec pyenv-rehash --complete
|
||||
fi
|
||||
|
||||
shell="$(basename "${PYENV_SHELL:-$SHELL}")"
|
||||
|
||||
# When pyenv shell integration is enabled, delegate to pyenv-rehash,
|
||||
# then tell the shell to empty its command lookup cache.
|
||||
pyenv-rehash
|
||||
echo "hash -r"
|
||||
|
||||
case "$shell" in
|
||||
fish )
|
||||
# no rehash support
|
||||
;;
|
||||
* )
|
||||
echo "hash -r 2>/dev/null || true"
|
||||
;;
|
||||
esac
|
||||
|
||||
@@ -24,6 +24,7 @@ if [ "$1" = "--complete" ]; then
|
||||
fi
|
||||
|
||||
versions=("$@")
|
||||
shell="$(basename "${PYENV_SHELL:-$SHELL}")"
|
||||
|
||||
if [ -z "$versions" ]; then
|
||||
if [ -z "$PYENV_VERSION" ]; then
|
||||
@@ -36,15 +37,31 @@ if [ -z "$versions" ]; then
|
||||
fi
|
||||
|
||||
if [ "$versions" = "--unset" ]; then
|
||||
echo "unset PYENV_VERSION"
|
||||
case "$shell" in
|
||||
fish )
|
||||
echo "set -e PYENV_VERSION"
|
||||
;;
|
||||
* )
|
||||
echo "unset PYENV_VERSION"
|
||||
;;
|
||||
esac
|
||||
exit
|
||||
fi
|
||||
|
||||
# Make sure the specified version is installed.
|
||||
if pyenv-prefix "${versions[@]}" >/dev/null; then
|
||||
IFS=: PYENV_VERSION="${versions[*]}"
|
||||
echo "export PYENV_VERSION=\"${PYENV_VERSION}\""
|
||||
OLDIFS="$IFS"
|
||||
IFS=: version="${versions[*]}"
|
||||
IFS="$OLDIFS"
|
||||
case "$shell" in
|
||||
fish )
|
||||
echo "setenv PYENV_VERSION \"${version}\""
|
||||
;;
|
||||
* )
|
||||
echo "export PYENV_VERSION=\"${version}\""
|
||||
;;
|
||||
esac
|
||||
else
|
||||
echo "return 1"
|
||||
echo "false"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@@ -11,6 +11,8 @@ if [ "$1" = "--complete" ]; then
|
||||
exit
|
||||
fi
|
||||
|
||||
shopt -s nullglob
|
||||
|
||||
for command in "${PYENV_ROOT}/shims/"*; do
|
||||
if [ "$1" = "--short" ]; then
|
||||
echo "${command##*/}"
|
||||
|
||||
@@ -8,7 +8,9 @@
|
||||
set -e
|
||||
[ -n "$PYENV_DEBUG" ] && set -x
|
||||
|
||||
OLDIFS="$IFS"
|
||||
IFS=: PYENV_VERSION_NAMES=($(pyenv-version-name))
|
||||
IFS="$OLDIFS"
|
||||
|
||||
for PYENV_VERSION_NAME in "${PYENV_VERSION_NAMES[@]}"; do
|
||||
echo "$PYENV_VERSION_NAME (set by $(pyenv-version-origin))"
|
||||
|
||||
@@ -13,6 +13,7 @@ find_local_version_file() {
|
||||
echo "${root}/.pyenv-version"
|
||||
exit
|
||||
fi
|
||||
[ "${root}" = "${root%/*}" ] && break
|
||||
root="${root%/*}"
|
||||
done
|
||||
}
|
||||
|
||||
@@ -8,20 +8,15 @@ VERSION_FILE="$1"
|
||||
if [ -e "$VERSION_FILE" ]; then
|
||||
# Read the first non-whitespace word from the specified version file.
|
||||
# Be careful not to load it whole in case there's something crazy in it.
|
||||
versions=()
|
||||
while read -a words; do
|
||||
word="${words[0]}"
|
||||
if [ -n "$word" ]; then
|
||||
length="${#versions[@]}"
|
||||
versions=("${versions[@]}" "$word")
|
||||
fi
|
||||
done < <( cat "$VERSION_FILE" && echo )
|
||||
words=( $(cut -b 1-1024 "$VERSION_FILE") )
|
||||
versions=("${words[@]}")
|
||||
|
||||
if [ -n "$versions" ]; then
|
||||
{
|
||||
IFS=:
|
||||
OLDIFS="$IFS"
|
||||
{ IFS=:
|
||||
echo "${versions[*]}"
|
||||
}
|
||||
IFS="$OLDIFS"
|
||||
exit
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -5,7 +5,7 @@ set -e
|
||||
[ -n "$PYENV_DEBUG" ] && set -x
|
||||
|
||||
PYENV_VERSION_FILE="$1"
|
||||
shift
|
||||
shift || true
|
||||
versions=("$@")
|
||||
|
||||
if [ -z "$versions" ] || [ -z "$PYENV_VERSION_FILE" ]; then
|
||||
|
||||
@@ -3,16 +3,12 @@
|
||||
set -e
|
||||
[ -n "$PYENV_DEBUG" ] && set -x
|
||||
|
||||
if [ -n "$PYENV_VERSION" ]; then
|
||||
IFS=: versions=($(echo "${PYENV_VERSION}"))
|
||||
else
|
||||
if [ -z "$PYENV_VERSION" ]; then
|
||||
PYENV_VERSION_FILE="$(pyenv-version-file)"
|
||||
IFS=: versions=($(pyenv-version-file-read "$PYENV_VERSION_FILE" || true))
|
||||
IFS=: PYENV_VERSION="${versions[*]}"
|
||||
export PYENV_VERSION
|
||||
PYENV_VERSION="$(pyenv-version-file-read "$PYENV_VERSION_FILE" || true)"
|
||||
fi
|
||||
|
||||
if [ -z "$versions" ]; then
|
||||
if [ -z "$PYENV_VERSION" ] || [ "$PYENV_VERSION" = "system" ]; then
|
||||
echo "system"
|
||||
exit
|
||||
fi
|
||||
@@ -22,13 +18,27 @@ version_exists() {
|
||||
[ -d "${PYENV_ROOT}/versions/${version}" ]
|
||||
}
|
||||
|
||||
for version in "${versions[@]}"; do
|
||||
PYENV_VERSION_PATH="${PYENV_ROOT}/versions/${version}"
|
||||
versions=()
|
||||
OLDIFS="$IFS"
|
||||
{ IFS=:
|
||||
for version in ${PYENV_VERSION}; do
|
||||
if version_exists "$version" || [ "$version" = "system" ]; then
|
||||
versions=("${versions[@]}" "${version}")
|
||||
elif version_exists "${version#python-}"; then
|
||||
{ echo "warning: ignoring extraneous \`python-' prefix in version \`${version}'"
|
||||
echo " (set by $(pyenv-version-origin))"
|
||||
} >&2
|
||||
versions=("${versions[@]}" "${version#python-}")
|
||||
else
|
||||
echo "pyenv: version \`$version' is not installed" >&2
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
}
|
||||
IFS="$OLDIFS"
|
||||
|
||||
if [ "$version" != "system" ] && ! version_exists "$version"; then
|
||||
echo "pyenv: version \`$version' is not installed" >&2
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
echo "${PYENV_VERSION}"
|
||||
OLDIFS="$IFS"
|
||||
{ IFS=:
|
||||
echo "${versions[*]}"
|
||||
}
|
||||
IFS="$OLDIFS"
|
||||
|
||||
@@ -10,13 +10,15 @@ set -e
|
||||
if [ "$1" = "--bare" ]; then
|
||||
hit_prefix=""
|
||||
miss_prefix=""
|
||||
IFS=: current_versions=()
|
||||
current_versions=()
|
||||
version_origin=""
|
||||
include_system=""
|
||||
else
|
||||
hit_prefix="* "
|
||||
miss_prefix=" "
|
||||
OLDIFS="$IFS"
|
||||
IFS=: current_versions=($(pyenv-version-name || true))
|
||||
IFS="$OLDIFS"
|
||||
version_origin=" (set by $(pyenv-version-origin))"
|
||||
include_system="1"
|
||||
fi
|
||||
@@ -32,9 +34,9 @@ array_exists() {
|
||||
|
||||
print_version() {
|
||||
if array_exists "$1" "${current_versions[@]}"; then
|
||||
echo "${hit_prefix}${1}${version_origin}"
|
||||
echo "${hit_prefix}$1${version_origin}"
|
||||
else
|
||||
echo "${miss_prefix}${1}"
|
||||
echo "${miss_prefix}$1"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
@@ -48,8 +48,10 @@ remove_from_path() {
|
||||
echo "${result%:}"
|
||||
}
|
||||
|
||||
OLDIFS="$IFS"
|
||||
IFS=: versions=($(pyenv-version-name))
|
||||
IFS=: PYENV_VERSION="${versions[*]}"
|
||||
IFS="$OLDIFS"
|
||||
PYENV_COMMAND="$1"
|
||||
|
||||
if [ -z "$PYENV_COMMAND" ]; then
|
||||
@@ -69,7 +71,10 @@ for version in "${versions[@]}"; do
|
||||
fi
|
||||
done
|
||||
|
||||
for script in $(pyenv-hooks which); do
|
||||
OLDIFS="$IFS"
|
||||
IFS=$'\n' scripts=(`pyenv-hooks which`)
|
||||
IFS="$OLDIFS"
|
||||
for script in "${scripts[@]}"; do
|
||||
source "$script"
|
||||
done
|
||||
|
||||
|
||||
1
plugins/.gitignore
vendored
1
plugins/.gitignore
vendored
@@ -1,3 +1,4 @@
|
||||
/*
|
||||
!/.gitignore
|
||||
!/version-ext-compat
|
||||
!/python-build
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
Copyright (c) 2011 Sam Stephenson
|
||||
Copyright (c) 2012 Yamashita, Yuu
|
||||
|
||||
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.
|
||||
199
plugins/python-build/README.md
Normal file
199
plugins/python-build/README.md
Normal file
@@ -0,0 +1,199 @@
|
||||
# python-build
|
||||
|
||||
python-build is a [pyenv](https://github.com/yyuu/pyenv) plugin
|
||||
that provides a `pyenv install` command to compile and install
|
||||
different versions of Python on UNIX-like systems.
|
||||
|
||||
You can also use python-build without pyenv in environments where you
|
||||
need precise control over Python version installation.
|
||||
|
||||
|
||||
## Installation
|
||||
|
||||
### Installing as an pyenv plugin (recommended)
|
||||
|
||||
You need nothing to do since python-build is bundled with pyenv by
|
||||
default.
|
||||
|
||||
### Installing as a standalone program (advanced)
|
||||
|
||||
Installing python-build as a standalone program will give you access to
|
||||
the `python-build` command for precise control over Python version
|
||||
installation. If you have pyenv installed, you will also be able to
|
||||
use the `pyenv install` command.
|
||||
|
||||
git clone git://github.com/yyuu/pyenv.git
|
||||
cd pyenv/plugins/python-build
|
||||
./install.sh
|
||||
|
||||
This will install python-build into `/usr/local`. If you do not have
|
||||
write permission to `/usr/local`, you will need to run `sudo
|
||||
./install.sh` instead. You can install to a different prefix by
|
||||
setting the `PREFIX` environment variable.
|
||||
|
||||
To update python-build after it has been installed, run `git pull` in
|
||||
your cloned copy of the repository, then re-run the install script.
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
### Using `pyenv install` with pyenv
|
||||
|
||||
To install a Python version for use with pyenv, run `pyenv install` with
|
||||
the exact name of the version you want to install. For example,
|
||||
|
||||
pyenv install 2.7.4
|
||||
|
||||
Python versions will be installed into a directory of the same name
|
||||
under `~/.pyenv/versions`.
|
||||
|
||||
To see a list of all available Python versions, run `pyenv install --list`.
|
||||
You may also tab-complete available Python
|
||||
versions if your pyenv installation is properly configured.
|
||||
|
||||
### Using `python-build` standalone
|
||||
|
||||
If you have installed python-build as a standalone program, you can use
|
||||
the `python-build` command to compile and install Python versions into
|
||||
specific locations.
|
||||
|
||||
Run the `python-build` command with the exact name of the version you
|
||||
want to install and the full path where you want to install it. For
|
||||
example,
|
||||
|
||||
python-build 2.7.4 ~/local/python-2.7.4
|
||||
|
||||
To see a list of all available Python versions, run `python-build
|
||||
--definitions`.
|
||||
|
||||
Pass the `-v` or `--verbose` flag to `python-build` as the first
|
||||
argument to see what's happening under the hood.
|
||||
|
||||
### Custom definitions
|
||||
|
||||
Both `pyenv install` and `python-build` accept a path to a custom
|
||||
definition file in place of a version name. Custom definitions let you
|
||||
develop and install versions of Python that are not yet supported by
|
||||
python-build.
|
||||
|
||||
See the [python-build built-in
|
||||
definitions](https://github.com/yyuu/pyenv/tree/master/plugins/python-build/share/python-build)
|
||||
as a starting point for custom definition files.
|
||||
|
||||
### Special environment variables
|
||||
|
||||
You can set certain environment variables to control the build
|
||||
process.
|
||||
|
||||
* `TMPDIR` sets the location where python-build stores temporary files.
|
||||
* `PYTHON_BUILD_BUILD_PATH` sets the location in which sources are
|
||||
downloaded and built. By default, this is a subdirectory of
|
||||
`TMPDIR`.
|
||||
* `PYTHON_BUILD_CACHE_PATH`, if set, specifies a directory to use for
|
||||
caching downloaded package files.
|
||||
* `PYTHON_BUILD_MIRROR_URL` overrides the default mirror URL root to one
|
||||
of your choosing.
|
||||
* `PYTHON_BUILD_SKIP_MIRROR`, if set, forces python-build to download
|
||||
packages from their original source URLs instead of using a mirror.
|
||||
* `CC` sets the path to the C compiler.
|
||||
* `CONFIGURE_OPTS` lets you pass additional options to `./configure`.
|
||||
* `MAKE` lets you override the command to use for `make`. Useful for
|
||||
specifying GNU make (`gmake`) on some systems.
|
||||
* `MAKE_OPTS` (or `MAKEOPTS`) lets you pass additional options to
|
||||
`make`.
|
||||
* `PYTHON_CONFIGURE_OPTS` and `PYTHON_MAKE_OPTS` allow you to specify
|
||||
configure and make options for buildling CPython. These variables will
|
||||
be passed to Python only, not any dependent packages (e.g. libyaml).
|
||||
|
||||
### Checksum verification
|
||||
|
||||
If you have the `md5`, `openssl`, or `md5sum` tool installed,
|
||||
python-build will automatically verify the MD5 checksum of each
|
||||
downloaded package before installing it.
|
||||
|
||||
Checksums are optional and specified as anchors on the package URL in
|
||||
each definition. (All bundled definitions include checksums.)
|
||||
|
||||
### Package download mirrors
|
||||
|
||||
python-build will first attempt to download package files from a mirror
|
||||
hosted on Amazon CloudFront. If a package is not available on the
|
||||
mirror, if the mirror is down, or if the download is corrupt,
|
||||
python-build will fall back to the official URL specified in the
|
||||
defintion file.
|
||||
|
||||
You can point python-build to another mirror by specifying the
|
||||
`PYTHON_BUILD_MIRROR_URL` environment variable--useful if you'd like to
|
||||
run your own local mirror, for example. Package mirror URLs are
|
||||
constructed by joining this variable with the MD5 checksum of the
|
||||
package file.
|
||||
|
||||
If you don't have an MD5 program installed, python-build will skip the
|
||||
download mirror and use official URLs instead. You can force
|
||||
python-build to bypass the mirror by setting the
|
||||
`PYTHON_BUILD_SKIP_MIRROR` environment variable.
|
||||
|
||||
The official python-build download mirror is provided by [Git Hub Pages](http://yyuu.github.io/pythons/).
|
||||
|
||||
### Package download caching
|
||||
|
||||
You can instruct python-build to keep a local cache of downloaded
|
||||
package files by setting the `PYTHON_BUILD_CACHE_PATH` environment
|
||||
variable. When set, package files will be kept in this directory after
|
||||
the first successful download and reused by subsequent invocations of
|
||||
`python-build` and `pyenv install`.
|
||||
|
||||
The `pyenv install` command defaults this path to `~/.pyenv/cache`, so
|
||||
in most cases you can enable download caching simply by creating that
|
||||
directory.
|
||||
|
||||
### Keeping the build directory after installation
|
||||
|
||||
Both `python-build` and `pyenv install` accept the `-k` or `--keep`
|
||||
flag, which tells python-build to keep the downloaded source after
|
||||
installation. This can be useful if you need to use `gdb` and
|
||||
`memprof` with Python.
|
||||
|
||||
Source code will be kept in a parallel directory tree
|
||||
`~/.pyenv/sources` when using `--keep` with the `pyenv install`
|
||||
command. You should specify the location of the source code with the
|
||||
`PYTHON_BUILD_BUILD_PATH` environment variable when using `--keep` with
|
||||
`python-build`.
|
||||
|
||||
|
||||
## Getting Help
|
||||
|
||||
Please see the [python-build
|
||||
wiki](https://github.com/yyuu/pyenv/wiki) for solutions to
|
||||
common problems.
|
||||
|
||||
If you can't find an answer on the wiki, open an issue on the [issue
|
||||
tracker](https://github.com/yyuu/pyenv/issues). Be sure to
|
||||
include the full build log for build failures.
|
||||
|
||||
|
||||
### License
|
||||
|
||||
(The MIT License)
|
||||
|
||||
* Copyright (c) 2013 Yamashita, Yuu
|
||||
* Copyright (c) 2012 Sam Stephenson
|
||||
|
||||
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.
|
||||
@@ -1,16 +1,21 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# Summary: Install a Python version using the python-build plugin
|
||||
# Summary: Install a Python version using python-build
|
||||
#
|
||||
# Usage: pyenv install [-f|--force] [-k|--keep] [-v|--verbose] <version>
|
||||
# pyenv install [-f|--force] [-k|--keep] [-v|--verbose] <definition-file>
|
||||
# Usage: pyenv install [-f] [-kvp] <version>
|
||||
# pyenv install [-f] [-kvp] <definition-file>
|
||||
# pyenv install -l|--list
|
||||
#
|
||||
# -l/--list List all available versions
|
||||
# -f/--force Install even if the version appears to be installed already
|
||||
#
|
||||
# python-build options:
|
||||
#
|
||||
# -k/--keep Keep source tree in $PYENV_BUILD_ROOT after installation
|
||||
# (defaults to $PYENV_ROOT/sources)
|
||||
# -v/--verbose Verbose mode: print compilation status to stdout
|
||||
# -p/--patch Apply a patch from stdin before building
|
||||
# -g/--debug Build a debug version
|
||||
#
|
||||
# For detailed information on installing Python versions with
|
||||
# python-build, including a list of environment variables for adjusting
|
||||
@@ -37,9 +42,20 @@ usage() {
|
||||
[ -z "$1" ] || exit "$1"
|
||||
}
|
||||
|
||||
definitions() {
|
||||
local query="$1"
|
||||
python-build --definitions | grep -F "$query" || true
|
||||
}
|
||||
|
||||
indent() {
|
||||
sed 's/^/ /'
|
||||
}
|
||||
|
||||
unset FORCE
|
||||
unset KEEP
|
||||
unset VERBOSE
|
||||
unset HAS_PATCH
|
||||
unset DEBUG
|
||||
|
||||
parse_options "$@"
|
||||
for option in "${OPTIONS[@]}"; do
|
||||
@@ -49,7 +65,7 @@ for option in "${OPTIONS[@]}"; do
|
||||
;;
|
||||
"l" | "list" )
|
||||
echo "Available versions:"
|
||||
python-build --definitions | sed 's/^/ /'
|
||||
definitions | indent
|
||||
exit
|
||||
;;
|
||||
"f" | "force" )
|
||||
@@ -61,6 +77,12 @@ for option in "${OPTIONS[@]}"; do
|
||||
"v" | "verbose" )
|
||||
VERBOSE="-v"
|
||||
;;
|
||||
"p" | "patch" )
|
||||
HAS_PATCH="-p"
|
||||
;;
|
||||
"g" | "debug" )
|
||||
DEBUG="-g"
|
||||
;;
|
||||
"version" )
|
||||
exec python-build --version
|
||||
;;
|
||||
@@ -77,7 +99,7 @@ unset VERSION_NAME
|
||||
# version is specified by pyenv. Show usage instructions if a local
|
||||
# version is not specified.
|
||||
DEFINITION="${ARGUMENTS[0]}"
|
||||
[ -n "$DEFINITION" ] || DEFINITION="$(pyenv local 2>/dev/null || true)"
|
||||
[ -n "$DEFINITION" ] || DEFINITION="$(pyenv-local 2>/dev/null || true)"
|
||||
[ -n "$DEFINITION" ] || usage 1
|
||||
|
||||
|
||||
@@ -96,17 +118,20 @@ after_install() {
|
||||
after_hooks["${#after_hooks[@]}"]="$hook"
|
||||
}
|
||||
|
||||
# Load plugin hooks.
|
||||
for script in $(pyenv-hooks install); do
|
||||
source "$script"
|
||||
done
|
||||
OLDIFS="$IFS"
|
||||
IFS=$'\n' scripts=(`pyenv-hooks install`)
|
||||
IFS="$OLDIFS"
|
||||
for script in "${scripts[@]}"; do source "$script"; done
|
||||
|
||||
|
||||
# Set VERSION_NAME from $DEFINITION, if it is not already set. Then
|
||||
# compute the installation prefix.
|
||||
[ -n "$VERSION_NAME" ] || VERSION_NAME="${DEFINITION##*/}"
|
||||
[ -n "$DEBUG" ] && VERSION_NAME="${VERSION_NAME}-debug"
|
||||
PREFIX="${PYENV_ROOT}/versions/${VERSION_NAME}"
|
||||
|
||||
[ -d "${PREFIX}" ] && PREFIX_EXISTS=1
|
||||
|
||||
# If the installation prefix exists, prompt for confirmation unless
|
||||
# the --force option was specified.
|
||||
if [ -z "$FORCE" ] && [ -d "${PREFIX}/bin" ]; then
|
||||
@@ -131,19 +156,54 @@ if [ -z "${PYTHON_BUILD_CACHE_PATH}" ] && [ -d "${PYENV_ROOT}/cache" ]; then
|
||||
export PYTHON_BUILD_CACHE_PATH="${PYENV_ROOT}/cache"
|
||||
fi
|
||||
|
||||
# Default PYENV_VERSION to the friendly Python version. (The
|
||||
# CPython installer requires an existing Python installation to run. An
|
||||
# unsatisfied local python version can cause the installer to
|
||||
# fail.)
|
||||
if [[ "${VERSION_NAME}" == [23]"."* ]]; then
|
||||
export PYENV_VERSION="$(pyenv-whence "python${VERSION_NAME%%.${VERSION_NAME##*.}}" 2>/dev/null | tail -1 || true)"
|
||||
fi
|
||||
|
||||
|
||||
# Execute `before_install` hooks.
|
||||
for hook in "${before_hooks[@]}"; do eval "$hook"; done
|
||||
|
||||
# Invoke `python-build` and record the exit status in $STATUS. Run
|
||||
# `pyenv rehash` after a successful installation.
|
||||
# Plan cleanup on unsuccessful installation.
|
||||
cleanup() {
|
||||
[ -z "${PREFIX_EXISTS}" ] && rm -rf "$PREFIX"
|
||||
}
|
||||
|
||||
trap cleanup SIGINT
|
||||
|
||||
# Invoke `python-build` and record the exit status in $STATUS.
|
||||
STATUS=0
|
||||
python-build $KEEP $VERBOSE "$DEFINITION" "$PREFIX" || STATUS="$?"
|
||||
python-build $KEEP $VERBOSE $HAS_PATCH $DEBUG "$DEFINITION" "$PREFIX" || STATUS="$?"
|
||||
|
||||
# Display a more helpful message if the definition wasn't found.
|
||||
if [ "$STATUS" == "2" ]; then
|
||||
{ candidates="$(definitions "$DEFINITION")"
|
||||
if [ -n "$candidates" ]; then
|
||||
echo
|
||||
echo "The following versions contain \`$DEFINITION' in the name:"
|
||||
echo "$candidates" | indent
|
||||
fi
|
||||
echo
|
||||
echo "You can list all available versions with \`pyenv install --list'."
|
||||
echo
|
||||
echo "If the version you're looking for is not present, first try upgrading"
|
||||
echo "pyenv. If it's still missing, open a request on the pyenv"
|
||||
echo "issue tracker: https://github.com/yyuu/pyenv/issues"
|
||||
} >&2
|
||||
fi
|
||||
|
||||
# Execute `after_install` hooks.
|
||||
for hook in "${after_hooks[@]}"; do eval "$hook"; done
|
||||
|
||||
# Run `pyenv-rehash` after a successful installation.
|
||||
[ "$STATUS" != "0" ] || pyenv rehash
|
||||
if [ "$STATUS" == "0" ]; then
|
||||
pyenv-rehash
|
||||
else
|
||||
cleanup
|
||||
fi
|
||||
|
||||
exit "$STATUS"
|
||||
|
||||
@@ -38,6 +38,24 @@ case "$DEFINITION" in
|
||||
;;
|
||||
esac
|
||||
|
||||
declare -a before_hooks after_hooks
|
||||
|
||||
before_uninstall() {
|
||||
local hook="$1"
|
||||
before_hooks["${#before_hooks[@]}"]="$hook"
|
||||
}
|
||||
|
||||
after_uninstall() {
|
||||
local hook="$1"
|
||||
after_hooks["${#after_hooks[@]}"]="$hook"
|
||||
}
|
||||
|
||||
OLDIFS="$IFS"
|
||||
IFS=$'\n' scripts=(`pyenv-hooks uninstall`)
|
||||
IFS="$OLDIFS"
|
||||
for script in "${scripts[@]}"; do source "$script"; done
|
||||
|
||||
|
||||
VERSION_NAME="${DEFINITION##*/}"
|
||||
PREFIX="${PYENV_ROOT}/versions/${VERSION_NAME}"
|
||||
|
||||
@@ -54,7 +72,11 @@ if [ -z "$FORCE" ]; then
|
||||
esac
|
||||
fi
|
||||
|
||||
for hook in "${before_hooks[@]}"; do eval "$hook"; done
|
||||
|
||||
if [ -d "$PREFIX" ]; then
|
||||
rm -rf "$PREFIX"
|
||||
pyenv rehash
|
||||
pyenv-rehash
|
||||
fi
|
||||
|
||||
for hook in "${after_hooks[@]}"; do eval "$hook"; done
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,12 @@
|
||||
#!/bin/sh
|
||||
# Usage: PREFIX=/usr/local ./install.sh
|
||||
#
|
||||
# Installs python-build under $PREFIX.
|
||||
|
||||
set -e
|
||||
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
if [ -z "${PREFIX}" ]; then
|
||||
PREFIX="/usr/local"
|
||||
fi
|
||||
@@ -9,15 +14,7 @@ fi
|
||||
BIN_PATH="${PREFIX}/bin"
|
||||
SHARE_PATH="${PREFIX}/share/python-build"
|
||||
|
||||
mkdir -p "${BIN_PATH}"
|
||||
mkdir -p "${SHARE_PATH}"
|
||||
mkdir -p "$BIN_PATH" "$SHARE_PATH"
|
||||
|
||||
for file in bin/*; do
|
||||
cp "${file}" "${BIN_PATH}"
|
||||
done
|
||||
|
||||
for file in share/python-build/*; do
|
||||
cp "${file}" "${SHARE_PATH}"
|
||||
done
|
||||
|
||||
echo "Installed python-build at ${PREFIX}"
|
||||
install -p bin/* "$BIN_PATH"
|
||||
cp -RPp share/python-build/* "$SHARE_PATH"
|
||||
|
||||
5
plugins/python-build/share/python-build/2.4
Normal file
5
plugins/python-build/share/python-build/2.4
Normal file
@@ -0,0 +1,5 @@
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||
install_package "Python-2.4" "http://python.org/ftp/python/2.4/Python-2.4.tgz#149ad508f936eccf669d52682cf8e606" ldflags_dirs standard verify_py24
|
||||
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#13951be6711438073fbe50843e7f141f" python
|
||||
install_package "pip-1.1" "https://pypi.python.org/packages/source/p/pip/pip-1.1.tar.gz#62a9f08dd5dc69d76734568a6c040508" python
|
||||
5
plugins/python-build/share/python-build/2.4.1
Normal file
5
plugins/python-build/share/python-build/2.4.1
Normal file
@@ -0,0 +1,5 @@
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||
install_package "Python-2.4.1" "http://python.org/ftp/python/2.4.1/Python-2.4.1.tgz#7bb2416a4f421c3452d306694d3efbba" ldflags_dirs standard verify_py24
|
||||
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#13951be6711438073fbe50843e7f141f" python
|
||||
install_package "pip-1.1" "https://pypi.python.org/packages/source/p/pip/pip-1.1.tar.gz#62a9f08dd5dc69d76734568a6c040508" python
|
||||
5
plugins/python-build/share/python-build/2.4.2
Normal file
5
plugins/python-build/share/python-build/2.4.2
Normal file
@@ -0,0 +1,5 @@
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||
install_package "Python-2.4.2" "http://python.org/ftp/python/2.4.2/Python-2.4.2.tgz#07cfc759546f6723bb367be5b1ce9875" ldflags_dirs standard verify_py24
|
||||
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#13951be6711438073fbe50843e7f141f" python
|
||||
install_package "pip-1.1" "https://pypi.python.org/packages/source/p/pip/pip-1.1.tar.gz#62a9f08dd5dc69d76734568a6c040508" python
|
||||
5
plugins/python-build/share/python-build/2.4.3
Normal file
5
plugins/python-build/share/python-build/2.4.3
Normal file
@@ -0,0 +1,5 @@
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||
install_package "Python-2.4.3" "http://python.org/ftp/python/2.4.3/Python-2.4.3.tgz#edf994473a8c1a963aaa71e442b285b7" ldflags_dirs standard verify_py24
|
||||
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#13951be6711438073fbe50843e7f141f" python
|
||||
install_package "pip-1.1" "https://pypi.python.org/packages/source/p/pip/pip-1.1.tar.gz#62a9f08dd5dc69d76734568a6c040508" python
|
||||
5
plugins/python-build/share/python-build/2.4.4
Normal file
5
plugins/python-build/share/python-build/2.4.4
Normal file
@@ -0,0 +1,5 @@
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||
install_package "Python-2.4.4" "http://python.org/ftp/python/2.4.4/Python-2.4.4.tgz#82d000617baaef269ad5795c595fdc58" ldflags_dirs standard verify_py24
|
||||
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#13951be6711438073fbe50843e7f141f" python
|
||||
install_package "pip-1.1" "https://pypi.python.org/packages/source/p/pip/pip-1.1.tar.gz#62a9f08dd5dc69d76734568a6c040508" python
|
||||
5
plugins/python-build/share/python-build/2.4.5
Normal file
5
plugins/python-build/share/python-build/2.4.5
Normal file
@@ -0,0 +1,5 @@
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||
install_package "Python-2.4.5" "http://python.org/ftp/python/2.4.5/Python-2.4.5.tgz#750b652bfdd12675e102bbe25e5e9893" ldflags_dirs standard verify_py24
|
||||
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#13951be6711438073fbe50843e7f141f" python
|
||||
install_package "pip-1.1" "https://pypi.python.org/packages/source/p/pip/pip-1.1.tar.gz#62a9f08dd5dc69d76734568a6c040508" python
|
||||
5
plugins/python-build/share/python-build/2.4.6
Normal file
5
plugins/python-build/share/python-build/2.4.6
Normal file
@@ -0,0 +1,5 @@
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||
install_package "Python-2.4.6" "http://python.org/ftp/python/2.4.6/Python-2.4.6.tgz#7564b2b142b1b8345cd5358b7aaaa482" ldflags_dirs standard verify_py24
|
||||
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#13951be6711438073fbe50843e7f141f" python
|
||||
install_package "pip-1.1" "https://pypi.python.org/packages/source/p/pip/pip-1.1.tar.gz#62a9f08dd5dc69d76734568a6c040508" python
|
||||
@@ -1,13 +1,5 @@
|
||||
case "$OSTYPE" in
|
||||
linux*)
|
||||
case $(uname -m) in
|
||||
x86_64)
|
||||
export LDFLAGS="-L/usr/lib/x86_64-linux-gnu" # to fix build on Debian amd64
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
||||
install_package "Python-2.5" "http://www.python.org/ftp/python/2.5/Python-2.5.tgz#bc1b74f90a472a6c0a85481aaeb43f95"
|
||||
install_package "distribute-0.6.34" "http://pypi.python.org/packages/source/d/distribute/distribute-0.6.34.tar.gz#4576ab843a6db5100fb22a72deadf56d" python
|
||||
install_package "pip-1.2.1" "http://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz#db8a6d8a4564d3dc7f337ebed67b1a85" python
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||
install_package "Python-2.5" "http://python.org/ftp/python/2.5/Python-2.5.tgz#bc1b74f90a472a6c0a85481aaeb43f95" ldflags_dirs standard verify_py25
|
||||
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#13951be6711438073fbe50843e7f141f" python
|
||||
install_package "pip-1.3.1" "https://pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz#cbb27a191cebc58997c4da8513863153" python
|
||||
|
||||
@@ -1,13 +1,5 @@
|
||||
case "$OSTYPE" in
|
||||
linux*)
|
||||
case $(uname -m) in
|
||||
x86_64)
|
||||
export LDFLAGS="-L/usr/lib/x86_64-linux-gnu" # to fix build on Debian amd64
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
||||
install_package "Python-2.5.1" "http://www.python.org/ftp/python/2.5.1/Python-2.5.1.tgz#cca695828df8adc3e69b637af07522e1"
|
||||
install_package "distribute-0.6.34" "http://pypi.python.org/packages/source/d/distribute/distribute-0.6.34.tar.gz#4576ab843a6db5100fb22a72deadf56d" python
|
||||
install_package "pip-1.2.1" "http://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz#db8a6d8a4564d3dc7f337ebed67b1a85" python
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||
install_package "Python-2.5.1" "http://python.org/ftp/python/2.5.1/Python-2.5.1.tgz#cca695828df8adc3e69b637af07522e1" ldflags_dirs standard verify_py25
|
||||
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#13951be6711438073fbe50843e7f141f" python
|
||||
install_package "pip-1.3.1" "https://pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz#cbb27a191cebc58997c4da8513863153" python
|
||||
|
||||
@@ -1,13 +1,5 @@
|
||||
case "$OSTYPE" in
|
||||
linux*)
|
||||
case $(uname -m) in
|
||||
x86_64)
|
||||
export LDFLAGS="-L/usr/lib/x86_64-linux-gnu" # to fix build on Debian amd64
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
||||
install_package "Python-2.5.2" "http://www.python.org/ftp/python/2.5.2/Python-2.5.2.tgz#3f7ca8aa86c6bd275426d63b46e07992"
|
||||
install_package "distribute-0.6.34" "http://pypi.python.org/packages/source/d/distribute/distribute-0.6.34.tar.gz#4576ab843a6db5100fb22a72deadf56d" python
|
||||
install_package "pip-1.2.1" "http://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz#db8a6d8a4564d3dc7f337ebed67b1a85" python
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||
install_package "Python-2.5.2" "http://python.org/ftp/python/2.5.2/Python-2.5.2.tgz#3f7ca8aa86c6bd275426d63b46e07992" ldflags_dirs standard verify_py25
|
||||
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#13951be6711438073fbe50843e7f141f" python
|
||||
install_package "pip-1.3.1" "https://pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz#cbb27a191cebc58997c4da8513863153" python
|
||||
|
||||
@@ -1,13 +1,5 @@
|
||||
case "$OSTYPE" in
|
||||
linux*)
|
||||
case $(uname -m) in
|
||||
x86_64)
|
||||
export LDFLAGS="-L/usr/lib/x86_64-linux-gnu" # to fix build on Debian amd64
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
||||
install_package "Python-2.5.3" "http://www.python.org/ftp/python/2.5.3/Python-2.5.3.tgz#a971f8928d6beb31ae0de56f7034d6a2"
|
||||
install_package "distribute-0.6.34" "http://pypi.python.org/packages/source/d/distribute/distribute-0.6.34.tar.gz#4576ab843a6db5100fb22a72deadf56d" python
|
||||
install_package "pip-1.2.1" "http://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz#db8a6d8a4564d3dc7f337ebed67b1a85" python
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||
install_package "Python-2.5.3" "http://python.org/ftp/python/2.5.3/Python-2.5.3.tgz#a971f8928d6beb31ae0de56f7034d6a2" ldflags_dirs standard verify_py25
|
||||
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#13951be6711438073fbe50843e7f141f" python
|
||||
install_package "pip-1.3.1" "https://pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz#cbb27a191cebc58997c4da8513863153" python
|
||||
|
||||
@@ -1,13 +1,5 @@
|
||||
case "$OSTYPE" in
|
||||
linux*)
|
||||
case $(uname -m) in
|
||||
x86_64)
|
||||
export LDFLAGS="-L/usr/lib/x86_64-linux-gnu" # to fix build on Debian amd64
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
||||
install_package "Python-2.5.4" "http://www.python.org/ftp/python/2.5.4/Python-2.5.4.tgz#ad47b23778f64edadaaa8b5534986eed"
|
||||
install_package "distribute-0.6.34" "http://pypi.python.org/packages/source/d/distribute/distribute-0.6.34.tar.gz#4576ab843a6db5100fb22a72deadf56d" python
|
||||
install_package "pip-1.2.1" "http://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz#db8a6d8a4564d3dc7f337ebed67b1a85" python
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||
install_package "Python-2.5.4" "http://python.org/ftp/python/2.5.4/Python-2.5.4.tgz#ad47b23778f64edadaaa8b5534986eed" ldflags_dirs standard verify_py25
|
||||
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#13951be6711438073fbe50843e7f141f" python
|
||||
install_package "pip-1.3.1" "https://pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz#cbb27a191cebc58997c4da8513863153" python
|
||||
|
||||
@@ -1,13 +1,5 @@
|
||||
case "$OSTYPE" in
|
||||
linux*)
|
||||
case $(uname -m) in
|
||||
x86_64)
|
||||
export LDFLAGS="-L/usr/lib/x86_64-linux-gnu" # to fix build on Debian amd64
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
||||
install_package "Python-2.5.5" "http://www.python.org/ftp/python/2.5.5/Python-2.5.5.tgz#abc02139ca38f4258e8e372f7da05c88"
|
||||
install_package "distribute-0.6.34" "http://pypi.python.org/packages/source/d/distribute/distribute-0.6.34.tar.gz#4576ab843a6db5100fb22a72deadf56d" python
|
||||
install_package "pip-1.2.1" "http://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz#db8a6d8a4564d3dc7f337ebed67b1a85" python
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||
install_package "Python-2.5.5" "http://python.org/ftp/python/2.5.5/Python-2.5.5.tgz#abc02139ca38f4258e8e372f7da05c88" ldflags_dirs standard verify_py25
|
||||
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#13951be6711438073fbe50843e7f141f" python
|
||||
install_package "pip-1.3.1" "https://pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz#cbb27a191cebc58997c4da8513863153" python
|
||||
|
||||
@@ -1,13 +1,5 @@
|
||||
case "$OSTYPE" in
|
||||
linux*)
|
||||
case $(uname -m) in
|
||||
x86_64)
|
||||
export LDFLAGS="-L/usr/lib/x86_64-linux-gnu" # to fix build on Debian amd64
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
||||
install_package "Python-2.5.6" "http://www.python.org/ftp/python/2.5.6/Python-2.5.6.tgz#d1d9c83928561addf11d00b22a18ca50"
|
||||
install_package "distribute-0.6.34" "http://pypi.python.org/packages/source/d/distribute/distribute-0.6.34.tar.gz#4576ab843a6db5100fb22a72deadf56d" python
|
||||
install_package "pip-1.2.1" "http://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz#db8a6d8a4564d3dc7f337ebed67b1a85" python
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||
install_package "Python-2.5.6" "http://python.org/ftp/python/2.5.6/Python-2.5.6.tgz#d1d9c83928561addf11d00b22a18ca50" ldflags_dirs standard verify_py25
|
||||
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#13951be6711438073fbe50843e7f141f" python
|
||||
install_package "pip-1.3.1" "https://pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz#cbb27a191cebc58997c4da8513863153" python
|
||||
|
||||
5
plugins/python-build/share/python-build/2.6-dev
Normal file
5
plugins/python-build/share/python-build/2.6-dev
Normal file
@@ -0,0 +1,5 @@
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||
install_hg "Python-2.6-dev" "https://bitbucket.org/mirror/cpython" "2.6" standard verify_py26
|
||||
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
|
||||
install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python
|
||||
@@ -1,13 +1,5 @@
|
||||
before_install_package() {
|
||||
local package_name="$1"
|
||||
case "$package_name" in
|
||||
Python*)
|
||||
http get "https://raw.github.com/saghul/pythonz/346450868902fed0fe654c472b7b58e2e31fde70/pythonz/patches/all/common/patch-setup.py.diff" > setup.patch
|
||||
patch -p0 < setup.patch
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
install_package "Python-2.6.6" "http://www.python.org/ftp/python/2.6.6/Python-2.6.6.tgz#b2f209df270a33315e62c1ffac1937f0"
|
||||
install_package "distribute-0.6.34" "http://pypi.python.org/packages/source/d/distribute/distribute-0.6.34.tar.gz#4576ab843a6db5100fb22a72deadf56d" python
|
||||
install_package "pip-1.2.1" "http://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz#db8a6d8a4564d3dc7f337ebed67b1a85" python
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||
install_package "Python-2.6.6" "http://python.org/ftp/python/2.6.6/Python-2.6.6.tgz#b2f209df270a33315e62c1ffac1937f0" ldflags_dirs standard verify_py26
|
||||
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
|
||||
install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python
|
||||
|
||||
@@ -1,13 +1,5 @@
|
||||
before_install_package() {
|
||||
local package_name="$1"
|
||||
case "$package_name" in
|
||||
Python*)
|
||||
http get "https://raw.github.com/saghul/pythonz/346450868902fed0fe654c472b7b58e2e31fde70/pythonz/patches/all/common/patch-setup.py.diff" > setup.patch
|
||||
patch -p0 < setup.patch
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
install_package "Python-2.6.7" "http://www.python.org/ftp/python/2.6.7/Python-2.6.7.tgz#af474f85a3af69ea50438a2a48039d7d"
|
||||
install_package "distribute-0.6.34" "http://pypi.python.org/packages/source/d/distribute/distribute-0.6.34.tar.gz#4576ab843a6db5100fb22a72deadf56d" python
|
||||
install_package "pip-1.2.1" "http://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz#db8a6d8a4564d3dc7f337ebed67b1a85" python
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||
install_package "Python-2.6.7" "http://python.org/ftp/python/2.6.7/Python-2.6.7.tgz#af474f85a3af69ea50438a2a48039d7d" ldflags_dirs standard verify_py26
|
||||
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
|
||||
install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python
|
||||
|
||||
@@ -1,13 +1,5 @@
|
||||
before_install_package() {
|
||||
local package_name="$1"
|
||||
case "$package_name" in
|
||||
Python*)
|
||||
http get "https://raw.github.com/saghul/pythonz/346450868902fed0fe654c472b7b58e2e31fde70/pythonz/patches/all/common/patch-setup.py.diff" > setup.patch
|
||||
patch -p0 < setup.patch
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
install_package "Python-2.6.8" "http://www.python.org/ftp/python/2.6.8/Python-2.6.8.tgz#f6c1781f5d73ab7dfa5181f43ea065f6"
|
||||
install_package "distribute-0.6.34" "http://pypi.python.org/packages/source/d/distribute/distribute-0.6.34.tar.gz#4576ab843a6db5100fb22a72deadf56d" python
|
||||
install_package "pip-1.2.1" "http://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz#db8a6d8a4564d3dc7f337ebed67b1a85" python
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||
install_package "Python-2.6.8" "http://python.org/ftp/python/2.6.8/Python-2.6.8.tgz#f6c1781f5d73ab7dfa5181f43ea065f6" ldflags_dirs standard verify_py26
|
||||
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
|
||||
install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python
|
||||
|
||||
5
plugins/python-build/share/python-build/2.6.9
Normal file
5
plugins/python-build/share/python-build/2.6.9
Normal file
@@ -0,0 +1,5 @@
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||
install_package "Python-2.6.9" "http://python.org/ftp/python/2.6.9/Python-2.6.9.tgz#bddbd64bf6f5344fc55bbe49a72fe4f3" ldflags_dirs standard verify_py26
|
||||
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
|
||||
install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python
|
||||
@@ -1,13 +1,5 @@
|
||||
before_install_package() {
|
||||
local package_name="$1"
|
||||
case "$package_name" in
|
||||
Python*)
|
||||
http get "https://raw.github.com/saghul/pythonz/346450868902fed0fe654c472b7b58e2e31fde70/pythonz/patches/all/common/patch-setup.py.diff" > setup.patch
|
||||
patch -p0 < setup.patch
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
install_package "Python-2.7" "http://www.python.org/ftp/python/2.7/Python-2.7.tgz#35f56b092ecf39a6bd59d64f142aae0f"
|
||||
install_package "distribute-0.6.34" "http://pypi.python.org/packages/source/d/distribute/distribute-0.6.34.tar.gz#4576ab843a6db5100fb22a72deadf56d" python
|
||||
install_package "pip-1.2.1" "http://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz#db8a6d8a4564d3dc7f337ebed67b1a85" python
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||
install_package "Python-2.7" "http://python.org/ftp/python/2.7/Python-2.7.tgz#35f56b092ecf39a6bd59d64f142aae0f" ldflags_dirs standard verify_py27
|
||||
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
|
||||
install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python
|
||||
|
||||
5
plugins/python-build/share/python-build/2.7-dev
Normal file
5
plugins/python-build/share/python-build/2.7-dev
Normal file
@@ -0,0 +1,5 @@
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||
install_hg "Python-2.7-dev" "https://bitbucket.org/mirror/cpython" "2.7" standard verify_py27
|
||||
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
|
||||
install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python
|
||||
@@ -1,13 +1,5 @@
|
||||
before_install_package() {
|
||||
local package_name="$1"
|
||||
case "$package_name" in
|
||||
Python*)
|
||||
http get "https://raw.github.com/saghul/pythonz/346450868902fed0fe654c472b7b58e2e31fde70/pythonz/patches/all/common/patch-setup.py.diff" > setup.patch
|
||||
patch -p0 < setup.patch
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
install_package "Python-2.7.1" "http://www.python.org/ftp/python/2.7.1/Python-2.7.1.tgz#15ed56733655e3fab785e49a7278d2fb"
|
||||
install_package "distribute-0.6.34" "http://pypi.python.org/packages/source/d/distribute/distribute-0.6.34.tar.gz#4576ab843a6db5100fb22a72deadf56d" python
|
||||
install_package "pip-1.2.1" "http://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz#db8a6d8a4564d3dc7f337ebed67b1a85" python
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||
install_package "Python-2.7.1" "http://python.org/ftp/python/2.7.1/Python-2.7.1.tgz#15ed56733655e3fab785e49a7278d2fb" ldflags_dirs standard verify_py27
|
||||
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
|
||||
install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
install_package "Python-2.7.2" "http://www.python.org/ftp/python/2.7.2/Python-2.7.2.tgz#0ddfe265f1b3d0a8c2459f5bf66894c7"
|
||||
install_package "distribute-0.6.34" "http://pypi.python.org/packages/source/d/distribute/distribute-0.6.34.tar.gz#4576ab843a6db5100fb22a72deadf56d" python
|
||||
install_package "pip-1.2.1" "http://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz#db8a6d8a4564d3dc7f337ebed67b1a85" python
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||
install_package "Python-2.7.2" "http://python.org/ftp/python/2.7.2/Python-2.7.2.tgz#0ddfe265f1b3d0a8c2459f5bf66894c7" ldflags_dirs standard verify_py27
|
||||
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
|
||||
install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
install_package "Python-2.7.3" "http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tgz#2cf641732ac23b18d139be077bd906cd"
|
||||
install_package "distribute-0.6.34" "http://pypi.python.org/packages/source/d/distribute/distribute-0.6.34.tar.gz#4576ab843a6db5100fb22a72deadf56d" python
|
||||
install_package "pip-1.2.1" "http://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz#db8a6d8a4564d3dc7f337ebed67b1a85" python
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||
install_package "Python-2.7.3" "http://python.org/ftp/python/2.7.3/Python-2.7.3.tgz#2cf641732ac23b18d139be077bd906cd" ldflags_dirs standard verify_py27
|
||||
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
|
||||
install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python
|
||||
|
||||
5
plugins/python-build/share/python-build/2.7.4
Normal file
5
plugins/python-build/share/python-build/2.7.4
Normal file
@@ -0,0 +1,5 @@
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||
install_package "Python-2.7.4" "http://python.org/ftp/python/2.7.4/Python-2.7.4.tgz#592603cfaf4490a980e93ecb92bde44a" ldflags_dirs standard verify_py27
|
||||
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
|
||||
install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python
|
||||
5
plugins/python-build/share/python-build/2.7.5
Normal file
5
plugins/python-build/share/python-build/2.7.5
Normal file
@@ -0,0 +1,5 @@
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||
install_package "Python-2.7.5" "http://python.org/ftp/python/2.7.5/Python-2.7.5.tgz#b4f01a1d0ba0b46b05c73b2ac909b1df" ldflags_dirs standard verify_py27
|
||||
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
|
||||
install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python
|
||||
5
plugins/python-build/share/python-build/2.7.6
Normal file
5
plugins/python-build/share/python-build/2.7.6
Normal file
@@ -0,0 +1,5 @@
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||
install_package "Python-2.7.6" "http://python.org/ftp/python/2.7.6/Python-2.7.6.tgz#1d8728eb0dfcac72a0fd99c17ec7f386" ldflags_dirs standard verify_py27
|
||||
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
|
||||
install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python
|
||||
@@ -1,13 +1,5 @@
|
||||
before_install_package() {
|
||||
local package_name="$1"
|
||||
case "$package_name" in
|
||||
Python*)
|
||||
http get "https://raw.github.com/saghul/pythonz/346450868902fed0fe654c472b7b58e2e31fde70/pythonz/patches/all/python30/patch-setup.py.diff" > setup.patch
|
||||
patch -p0 < setup.patch
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
install_package "Python-3.0.1" "http://www.python.org/ftp/python/3.0.1/Python-3.0.1.tgz#220b73f0a1a20c4b1cdf9f9db4cd52fe"
|
||||
install_package "distribute-0.6.34" "http://pypi.python.org/packages/source/d/distribute/distribute-0.6.34.tar.gz#4576ab843a6db5100fb22a72deadf56d" python
|
||||
install_package "pip-1.2.1" "http://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz#db8a6d8a4564d3dc7f337ebed67b1a85" python
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||
install_package "Python-3.0.1" "http://python.org/ftp/python/3.0.1/Python-3.0.1.tgz#220b73f0a1a20c4b1cdf9f9db4cd52fe" ldflags_dirs standard verify_py30
|
||||
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
|
||||
install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python
|
||||
|
||||
5
plugins/python-build/share/python-build/3.1-dev
Normal file
5
plugins/python-build/share/python-build/3.1-dev
Normal file
@@ -0,0 +1,5 @@
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||
install_hg "Python-3.1-dev" "https://bitbucket.org/mirror/cpython" "3.1" standard verify_py31
|
||||
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
|
||||
install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python
|
||||
@@ -1,13 +1,5 @@
|
||||
before_install_package() {
|
||||
local package_name="$1"
|
||||
case "$package_name" in
|
||||
Python*)
|
||||
http get "https://raw.github.com/saghul/pythonz/346450868902fed0fe654c472b7b58e2e31fde70/pythonz/patches/all/common/patch-setup.py.diff" > setup.patch
|
||||
patch -p0 < setup.patch
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
install_package "Python-3.1.3" "http://www.python.org/ftp/python/3.1.3/Python-3.1.3.tgz#d797fa6abe82c21227e328f05a535424"
|
||||
install_package "distribute-0.6.34" "http://pypi.python.org/packages/source/d/distribute/distribute-0.6.34.tar.gz#4576ab843a6db5100fb22a72deadf56d" python
|
||||
install_package "pip-1.2.1" "http://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz#db8a6d8a4564d3dc7f337ebed67b1a85" python
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||
install_package "Python-3.1.3" "http://python.org/ftp/python/3.1.3/Python-3.1.3.tgz#d797fa6abe82c21227e328f05a535424" ldflags_dirs standard verify_py31
|
||||
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
|
||||
install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
install_package "Python-3.1.4" "http://www.python.org/ftp/python/3.1.4/Python-3.1.4.tgz#fa9f8efdc63944c8393870282e8b5c35"
|
||||
install_package "distribute-0.6.34" "http://pypi.python.org/packages/source/d/distribute/distribute-0.6.34.tar.gz#4576ab843a6db5100fb22a72deadf56d" python
|
||||
install_package "pip-1.2.1" "http://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz#db8a6d8a4564d3dc7f337ebed67b1a85" python
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||
install_package "Python-3.1.4" "http://python.org/ftp/python/3.1.4/Python-3.1.4.tgz#fa9f8efdc63944c8393870282e8b5c35" ldflags_dirs standard verify_py31
|
||||
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
|
||||
install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
install_package "Python-3.1.5" "http://www.python.org/ftp/python/3.1.5/Python-3.1.5.tgz#02196d3fc7bc76bdda68aa36b0dd16ab"
|
||||
install_package "distribute-0.6.34" "http://pypi.python.org/packages/source/d/distribute/distribute-0.6.34.tar.gz#4576ab843a6db5100fb22a72deadf56d" python
|
||||
install_package "pip-1.2.1" "http://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz#db8a6d8a4564d3dc7f337ebed67b1a85" python
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" 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#02196d3fc7bc76bdda68aa36b0dd16ab" ldflags_dirs standard verify_py31
|
||||
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
|
||||
install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python
|
||||
|
||||
@@ -1,13 +1,5 @@
|
||||
before_install_package() {
|
||||
local package_name="$1"
|
||||
case "$package_name" in
|
||||
Python*)
|
||||
http get "https://raw.github.com/saghul/pythonz/346450868902fed0fe654c472b7b58e2e31fde70/pythonz/patches/all/python32/patch-setup.py.diff" > setup.patch
|
||||
patch -p0 < setup.patch
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
install_package "Python-3.2" "http://www.python.org/ftp/python/3.2/Python-3.2.tgz#5efe838a7878b170f6728d7e5d7517af"
|
||||
install_package "distribute-0.6.34" "http://pypi.python.org/packages/source/d/distribute/distribute-0.6.34.tar.gz#4576ab843a6db5100fb22a72deadf56d" python
|
||||
install_package "pip-1.2.1" "http://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz#db8a6d8a4564d3dc7f337ebed67b1a85" python
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||
install_package "Python-3.2" "http://python.org/ftp/python/3.2/Python-3.2.tgz#5efe838a7878b170f6728d7e5d7517af" ldflags_dirs standard verify_py32
|
||||
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
|
||||
install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python
|
||||
|
||||
5
plugins/python-build/share/python-build/3.2-dev
Normal file
5
plugins/python-build/share/python-build/3.2-dev
Normal file
@@ -0,0 +1,5 @@
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||
install_hg "Python-3.2-dev" "https://bitbucket.org/mirror/cpython" "3.2" standard verify_py32
|
||||
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
|
||||
install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python
|
||||
@@ -1,3 +1,5 @@
|
||||
install_package "Python-3.2.1" "http://www.python.org/ftp/python/3.2.1/Python-3.2.1.tgz#6c2aa3481cadb7bdf74e625fffc352b2"
|
||||
install_package "distribute-0.6.34" "http://pypi.python.org/packages/source/d/distribute/distribute-0.6.34.tar.gz#4576ab843a6db5100fb22a72deadf56d" python
|
||||
install_package "pip-1.2.1" "http://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz#db8a6d8a4564d3dc7f337ebed67b1a85" python
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||
install_package "Python-3.2.1" "http://python.org/ftp/python/3.2.1/Python-3.2.1.tgz#6c2aa3481cadb7bdf74e625fffc352b2" ldflags_dirs standard verify_py32
|
||||
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
|
||||
install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
install_package "Python-3.2.2" "http://www.python.org/ftp/python/3.2.2/Python-3.2.2.tgz#3c63a6d97333f4da35976b6a0755eb67"
|
||||
install_package "distribute-0.6.34" "http://pypi.python.org/packages/source/d/distribute/distribute-0.6.34.tar.gz#4576ab843a6db5100fb22a72deadf56d" python
|
||||
install_package "pip-1.2.1" "http://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz#db8a6d8a4564d3dc7f337ebed67b1a85" python
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||
install_package "Python-3.2.2" "http://python.org/ftp/python/3.2.2/Python-3.2.2.tgz#3c63a6d97333f4da35976b6a0755eb67" ldflags_dirs standard verify_py32
|
||||
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
|
||||
install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
install_package "Python-3.2.3" "http://www.python.org/ftp/python/3.2.3/Python-3.2.3.tgz#dcf3a738e7028f1deb41b180bf0e2cbc"
|
||||
install_package "distribute-0.6.34" "http://pypi.python.org/packages/source/d/distribute/distribute-0.6.34.tar.gz#4576ab843a6db5100fb22a72deadf56d" python
|
||||
install_package "pip-1.2.1" "http://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz#db8a6d8a4564d3dc7f337ebed67b1a85" python
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||
install_package "Python-3.2.3" "http://python.org/ftp/python/3.2.3/Python-3.2.3.tgz#dcf3a738e7028f1deb41b180bf0e2cbc" ldflags_dirs standard verify_py32
|
||||
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
|
||||
install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python
|
||||
|
||||
5
plugins/python-build/share/python-build/3.2.4
Normal file
5
plugins/python-build/share/python-build/3.2.4
Normal file
@@ -0,0 +1,5 @@
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||
install_package "Python-3.2.4" "http://python.org/ftp/python/3.2.4/Python-3.2.4.tgz#3af05758d0bc2b1a27249e8d622c3e91" ldflags_dirs standard verify_py32
|
||||
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
|
||||
install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python
|
||||
5
plugins/python-build/share/python-build/3.2.5
Normal file
5
plugins/python-build/share/python-build/3.2.5
Normal file
@@ -0,0 +1,5 @@
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||
install_package "Python-3.2.5" "http://python.org/ftp/python/3.2.5/Python-3.2.5.tgz#ed8d5529d2aebc36b53f4e0a0c9e6728" ldflags_dirs standard verify_py32
|
||||
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
|
||||
install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python
|
||||
5
plugins/python-build/share/python-build/3.3-dev
Normal file
5
plugins/python-build/share/python-build/3.3-dev
Normal file
@@ -0,0 +1,5 @@
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||
install_hg "Python-3.3-dev" "https://bitbucket.org/mirror/cpython" "3.3" standard verify_py33
|
||||
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
|
||||
install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python
|
||||
@@ -1,3 +1,5 @@
|
||||
install_package "Python-3.3.0" "http://python.org/ftp/python/3.3.0/Python-3.3.0.tgz#198a64f7a04d1d5e95ce2782d5fd8254"
|
||||
install_package "distribute-0.6.34" "http://pypi.python.org/packages/source/d/distribute/distribute-0.6.34.tar.gz#4576ab843a6db5100fb22a72deadf56d" python
|
||||
install_package "pip-1.2.1" "http://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz#db8a6d8a4564d3dc7f337ebed67b1a85" python
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||
install_package "Python-3.3.0" "http://python.org/ftp/python/3.3.0/Python-3.3.0.tgz#198a64f7a04d1d5e95ce2782d5fd8254" ldflags_dirs standard verify_py33
|
||||
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
|
||||
install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python
|
||||
|
||||
5
plugins/python-build/share/python-build/3.3.1
Normal file
5
plugins/python-build/share/python-build/3.3.1
Normal file
@@ -0,0 +1,5 @@
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||
install_package "Python-3.3.1" "http://python.org/ftp/python/3.3.1/Python-3.3.1.tgz#c19bfd6ea252b61779a4f2996fb3b330" ldflags_dirs standard verify_py33
|
||||
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
|
||||
install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python
|
||||
5
plugins/python-build/share/python-build/3.3.2
Normal file
5
plugins/python-build/share/python-build/3.3.2
Normal file
@@ -0,0 +1,5 @@
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||
install_package "Python-3.3.2" "http://python.org/ftp/python/3.3.2/Python-3.3.2.tgz#0a2ea57f6184baf45b150aee53c0c8da" ldflags_dirs standard verify_py33
|
||||
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
|
||||
install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python
|
||||
5
plugins/python-build/share/python-build/3.3.3
Normal file
5
plugins/python-build/share/python-build/3.3.3
Normal file
@@ -0,0 +1,5 @@
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||
install_package "Python-3.3.3" "http://python.org/ftp/python/3.3.3/Python-3.3.3.tgz#831d59212568dc12c95df222865d3441" ldflags_dirs standard verify_py33
|
||||
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
|
||||
install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python
|
||||
3
plugins/python-build/share/python-build/3.4-dev
Normal file
3
plugins/python-build/share/python-build/3.4-dev
Normal file
@@ -0,0 +1,3 @@
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||
install_hg "Python-3.4-dev" "https://bitbucket.org/mirror/cpython" "default" standard verify_py34 ensurepip
|
||||
5
plugins/python-build/share/python-build/3.4.0a2
Normal file
5
plugins/python-build/share/python-build/3.4.0a2
Normal file
@@ -0,0 +1,5 @@
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||
install_package "Python-3.4.0a2" "http://python.org/ftp/python/3.4.0/Python-3.4.0a2.tgz#e6e81242a32e6f63d224254d24edbd2f" ldflags_dirs standard verify_py34
|
||||
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
|
||||
install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python
|
||||
5
plugins/python-build/share/python-build/3.4.0a3
Normal file
5
plugins/python-build/share/python-build/3.4.0a3
Normal file
@@ -0,0 +1,5 @@
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||
install_package "Python-3.4.0a3" "http://python.org/ftp/python/3.4.0/Python-3.4.0a3.tgz#3598af9717cddd4c346d731913fdfd64" ldflags_dirs standard verify_py34
|
||||
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
|
||||
install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python
|
||||
5
plugins/python-build/share/python-build/3.4.0a4
Normal file
5
plugins/python-build/share/python-build/3.4.0a4
Normal file
@@ -0,0 +1,5 @@
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||
install_package "Python-3.4.0a4" "http://python.org/ftp/python/3.4.0/Python-3.4.0a4.tgz#f874d97c90130b0249848be889b5e6e1" ldflags_dirs standard verify_py34
|
||||
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
|
||||
install_package "pip-1.5.1" "https://pypi.python.org/packages/source/p/pip/pip-1.5.1.tar.gz#4678c2ae5cce4e9234c3923d7dcb32f0" python
|
||||
3
plugins/python-build/share/python-build/3.4.0b1
Normal file
3
plugins/python-build/share/python-build/3.4.0b1
Normal file
@@ -0,0 +1,3 @@
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||
install_package "Python-3.4.0b1" "http://python.org/ftp/python/3.4.0/Python-3.4.0b1.tgz#83143a755b8a29a59026c1fdfb8d18fc" ldflags_dirs standard verify_py34 ensurepip
|
||||
3
plugins/python-build/share/python-build/3.4.0b2
Normal file
3
plugins/python-build/share/python-build/3.4.0b2
Normal file
@@ -0,0 +1,3 @@
|
||||
require_cc "gcc" "clang"
|
||||
install_package "readline-6.2" "http://ftpmirror.gnu.org/readline/readline-6.2.tar.gz#67948acb2ca081f23359d0256e9a271c" standard --if has_broken_mac_readline
|
||||
install_package "Python-3.4.0b2" "http://python.org/ftp/python/3.4.0/Python-3.4.0b2.tgz#afe112d6fe595f501f1dcb3627e7b476" ldflags_dirs standard verify_py34 ensurepip
|
||||
6
plugins/python-build/share/python-build/jython-2.5-dev
Normal file
6
plugins/python-build/share/python-build/jython-2.5-dev
Normal file
@@ -0,0 +1,6 @@
|
||||
require_java
|
||||
install_hg "jython-2.5-dev" "http://hg.python.org/jython" "2.5" jython_builder
|
||||
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#13951be6711438073fbe50843e7f141f" python
|
||||
# pip (>= 1.3) does not work properly since it uses HTTPS for downloads
|
||||
# * https://github.com/yyuu/pyenv/issues/15
|
||||
install_package "pip-1.2.1" "https://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz#db8a6d8a4564d3dc7f337ebed67b1a85" python
|
||||
@@ -1,4 +1,9 @@
|
||||
require_java
|
||||
install_jar "Jython-2.5.0" "https://downloads.sourceforge.net/project/jython/jython/2.5.0/jython_installer-2.5.0.jar#f98b83fce9669feec69d0a17ee515a20" jython
|
||||
install_package "distribute-0.6.34" "http://pypi.python.org/packages/source/d/distribute/distribute-0.6.34.tar.gz#4576ab843a6db5100fb22a72deadf56d" python
|
||||
install_package "pip-1.2.1" "http://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz#db8a6d8a4564d3dc7f337ebed67b1a85" python
|
||||
# distribute (>= 0.33) does not support Jython prior to 2.5.2
|
||||
# * https://github.com/yyuu/pyenv/issues/15
|
||||
# * https://bitbucket.org/tarek/distribute/issue/367/importing-setuptoolssandbox-fails-on
|
||||
install_package "distribute-0.6.32" "https://pypi.python.org/packages/source/d/distribute/distribute-0.6.32.tar.gz#acb7a2da81e3612bfb1608abe4f0e568" python
|
||||
# pip (>= 1.3) does not work properly since it uses HTTPS for downloads
|
||||
# * https://github.com/yyuu/pyenv/issues/15
|
||||
install_package "pip-1.2.1" "https://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz#db8a6d8a4564d3dc7f337ebed67b1a85" python
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
require_java
|
||||
install_jar "Jython-2.5.1" "https://downloads.sourceforge.net/project/jython/jython/2.5.1/jython_installer-2.5.1.jar#2ee978eff4306b23753b3fe9d7af5b37" jython
|
||||
install_package "distribute-0.6.34" "http://pypi.python.org/packages/source/d/distribute/distribute-0.6.34.tar.gz#4576ab843a6db5100fb22a72deadf56d" python
|
||||
install_package "pip-1.2.1" "http://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz#db8a6d8a4564d3dc7f337ebed67b1a85" python
|
||||
# distribute (>= 0.33) does not support Jython prior to 2.5.2
|
||||
# * https://github.com/yyuu/pyenv/issues/15
|
||||
# * https://bitbucket.org/tarek/distribute/issue/367/importing-setuptoolssandbox-fails-on
|
||||
install_package "distribute-0.6.32" "https://pypi.python.org/packages/source/d/distribute/distribute-0.6.32.tar.gz#acb7a2da81e3612bfb1608abe4f0e568" python
|
||||
# pip (>= 1.3) does not work properly since it uses HTTPS for downloads
|
||||
# * https://github.com/yyuu/pyenv/issues/15
|
||||
install_package "pip-1.2.1" "https://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz#db8a6d8a4564d3dc7f337ebed67b1a85" python
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
require_java
|
||||
install_jar "Jython-2.5.2" "https://downloads.sourceforge.net/project/jython/jython/2.5.2/jython_installer-2.5.2.jar#7c7d9abd8985df480edeacd27ed9dcd5" jython
|
||||
install_package "distribute-0.6.34" "http://pypi.python.org/packages/source/d/distribute/distribute-0.6.34.tar.gz#4576ab843a6db5100fb22a72deadf56d" python
|
||||
install_package "pip-1.2.1" "http://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz#db8a6d8a4564d3dc7f337ebed67b1a85" python
|
||||
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#13951be6711438073fbe50843e7f141f" python
|
||||
# pip (>= 1.3) does not work properly since it uses HTTPS for downloads
|
||||
# * https://github.com/yyuu/pyenv/issues/15
|
||||
install_package "pip-1.2.1" "https://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz#db8a6d8a4564d3dc7f337ebed67b1a85" python
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
require_java
|
||||
install_jar "Jython-2.5.3" "http://search.maven.org/remotecontent?filepath=org/python/jython-installer/2.5.3/jython-installer-2.5.3.jar#41633b4557483d6d4237ee79ffcebe7b" jython
|
||||
install_package "distribute-0.6.34" "http://pypi.python.org/packages/source/d/distribute/distribute-0.6.34.tar.gz#4576ab843a6db5100fb22a72deadf56d" python
|
||||
install_package "pip-1.2.1" "http://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz#db8a6d8a4564d3dc7f337ebed67b1a85" python
|
||||
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#13951be6711438073fbe50843e7f141f" python
|
||||
# pip (>= 1.3) does not work properly since it uses HTTPS for downloads
|
||||
# * https://github.com/yyuu/pyenv/issues/15
|
||||
install_package "pip-1.2.1" "https://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz#db8a6d8a4564d3dc7f337ebed67b1a85" python
|
||||
|
||||
6
plugins/python-build/share/python-build/jython-2.5.4-rc1
Normal file
6
plugins/python-build/share/python-build/jython-2.5.4-rc1
Normal file
@@ -0,0 +1,6 @@
|
||||
require_java
|
||||
install_jar "Jython-2.5.4-rc1" "http://search.maven.org/remotecontent?filepath=org/python/jython-installer/2.5.4-rc1/jython-installer-2.5.4-rc1.jar#1be8d75d02886ce1a8542bb794a20db2" jython
|
||||
install_package "setuptools-1.4.2" "https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz#13951be6711438073fbe50843e7f141f" python
|
||||
# pip (>= 1.3) does not work properly since it uses HTTPS for downloads
|
||||
# * https://github.com/yyuu/pyenv/issues/15
|
||||
install_package "pip-1.2.1" "https://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz#db8a6d8a4564d3dc7f337ebed67b1a85" python
|
||||
6
plugins/python-build/share/python-build/jython-2.7-beta1
Normal file
6
plugins/python-build/share/python-build/jython-2.7-beta1
Normal file
@@ -0,0 +1,6 @@
|
||||
require_java
|
||||
install_jar "Jython-2.7-beta1" "http://search.maven.org/remotecontent?filepath=org/python/jython-installer/2.7-b1/jython-installer-2.7-b1.jar" jython
|
||||
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
|
||||
# pip (>= 1.3) does not work properly since it uses HTTPS for downloads
|
||||
# * https://github.com/yyuu/pyenv/issues/15
|
||||
install_package "pip-1.2.1" "https://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz#db8a6d8a4564d3dc7f337ebed67b1a85" python
|
||||
6
plugins/python-build/share/python-build/jython-dev
Normal file
6
plugins/python-build/share/python-build/jython-dev
Normal file
@@ -0,0 +1,6 @@
|
||||
require_java
|
||||
install_hg "jython-dev" "http://hg.python.org/jython" "default" jython_builder
|
||||
install_package "setuptools-2.1" "https://pypi.python.org/packages/source/s/setuptools/setuptools-2.1.tar.gz#2044725530450d0517393882dc4b7508" python
|
||||
# pip (>= 1.3) does not work properly since it uses HTTPS for downloads
|
||||
# * https://github.com/yyuu/pyenv/issues/15
|
||||
install_package "pip-1.2.1" "https://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz#db8a6d8a4564d3dc7f337ebed67b1a85" python
|
||||
@@ -0,0 +1,45 @@
|
||||
--- setup.py.orig 2011-07-07 19:19:43.800122463 +0900
|
||||
+++ setup.py 2011-07-07 19:25:04.548416377 +0900
|
||||
@@ -13,6 +13,7 @@
|
||||
from distutils.command.build_ext import build_ext
|
||||
from distutils.command.install import install
|
||||
from distutils.command.install_lib import install_lib
|
||||
+from distutils.spawn import find_executable
|
||||
|
||||
# This global variable is used to hold the list of modules to be disabled.
|
||||
disabled_module_list = []
|
||||
@@ -242,10 +243,34 @@
|
||||
return platform
|
||||
return sys.platform
|
||||
|
||||
+ def add_multiarch_paths(self):
|
||||
+ # Debian/Ubuntu multiarch support.
|
||||
+ # https://wiki.ubuntu.com/MultiarchSpec
|
||||
+ if not find_executable('dpkg-architecture'):
|
||||
+ return
|
||||
+ tmpfile = os.path.join(self.build_temp, 'multiarch')
|
||||
+ if not os.path.exists(self.build_temp):
|
||||
+ os.makedirs(self.build_temp)
|
||||
+ ret = os.system(
|
||||
+ 'dpkg-architecture -qDEB_HOST_MULTIARCH > %s 2> /dev/null' %
|
||||
+ tmpfile)
|
||||
+ try:
|
||||
+ if ret >> 8 == 0:
|
||||
+ fp = open(tmpfile)
|
||||
+ multiarch_path_component = fp.readline().strip()
|
||||
+ fp.close()
|
||||
+ add_dir_to_list(self.compiler.library_dirs,
|
||||
+ '/usr/lib/' + multiarch_path_component)
|
||||
+ add_dir_to_list(self.compiler.include_dirs,
|
||||
+ '/usr/include/' + multiarch_path_component)
|
||||
+ finally:
|
||||
+ os.unlink(tmpfile)
|
||||
+
|
||||
def detect_modules(self):
|
||||
# Ensure that /usr/local is always used
|
||||
add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
|
||||
add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
|
||||
+ self.add_multiarch_paths()
|
||||
|
||||
# Add paths specified in the environment variables LDFLAGS and
|
||||
# CPPFLAGS for header and library files.
|
||||
@@ -0,0 +1,45 @@
|
||||
--- setup.py.orig 2011-07-07 19:19:43.800122463 +0900
|
||||
+++ setup.py 2011-07-07 19:25:04.548416377 +0900
|
||||
@@ -13,6 +13,7 @@
|
||||
from distutils.command.build_ext import build_ext
|
||||
from distutils.command.install import install
|
||||
from distutils.command.install_lib import install_lib
|
||||
+from distutils.spawn import find_executable
|
||||
|
||||
# This global variable is used to hold the list of modules to be disabled.
|
||||
disabled_module_list = []
|
||||
@@ -242,10 +243,34 @@
|
||||
return platform
|
||||
return sys.platform
|
||||
|
||||
+ def add_multiarch_paths(self):
|
||||
+ # Debian/Ubuntu multiarch support.
|
||||
+ # https://wiki.ubuntu.com/MultiarchSpec
|
||||
+ if not find_executable('dpkg-architecture'):
|
||||
+ return
|
||||
+ tmpfile = os.path.join(self.build_temp, 'multiarch')
|
||||
+ if not os.path.exists(self.build_temp):
|
||||
+ os.makedirs(self.build_temp)
|
||||
+ ret = os.system(
|
||||
+ 'dpkg-architecture -qDEB_HOST_MULTIARCH > %s 2> /dev/null' %
|
||||
+ tmpfile)
|
||||
+ try:
|
||||
+ if ret >> 8 == 0:
|
||||
+ fp = open(tmpfile)
|
||||
+ multiarch_path_component = fp.readline().strip()
|
||||
+ fp.close()
|
||||
+ add_dir_to_list(self.compiler.library_dirs,
|
||||
+ '/usr/lib/' + multiarch_path_component)
|
||||
+ add_dir_to_list(self.compiler.include_dirs,
|
||||
+ '/usr/include/' + multiarch_path_component)
|
||||
+ finally:
|
||||
+ os.unlink(tmpfile)
|
||||
+
|
||||
def detect_modules(self):
|
||||
# Ensure that /usr/local is always used
|
||||
add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
|
||||
add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
|
||||
+ self.add_multiarch_paths()
|
||||
|
||||
# Add paths specified in the environment variables LDFLAGS and
|
||||
# CPPFLAGS for header and library files.
|
||||
@@ -0,0 +1,45 @@
|
||||
--- setup.py.orig 2011-07-07 19:19:43.800122463 +0900
|
||||
+++ setup.py 2011-07-07 19:25:04.548416377 +0900
|
||||
@@ -13,6 +13,7 @@
|
||||
from distutils.command.build_ext import build_ext
|
||||
from distutils.command.install import install
|
||||
from distutils.command.install_lib import install_lib
|
||||
+from distutils.spawn import find_executable
|
||||
|
||||
# This global variable is used to hold the list of modules to be disabled.
|
||||
disabled_module_list = []
|
||||
@@ -242,10 +243,34 @@
|
||||
return platform
|
||||
return sys.platform
|
||||
|
||||
+ def add_multiarch_paths(self):
|
||||
+ # Debian/Ubuntu multiarch support.
|
||||
+ # https://wiki.ubuntu.com/MultiarchSpec
|
||||
+ if not find_executable('dpkg-architecture'):
|
||||
+ return
|
||||
+ tmpfile = os.path.join(self.build_temp, 'multiarch')
|
||||
+ if not os.path.exists(self.build_temp):
|
||||
+ os.makedirs(self.build_temp)
|
||||
+ ret = os.system(
|
||||
+ 'dpkg-architecture -qDEB_HOST_MULTIARCH > %s 2> /dev/null' %
|
||||
+ tmpfile)
|
||||
+ try:
|
||||
+ if ret >> 8 == 0:
|
||||
+ fp = open(tmpfile)
|
||||
+ multiarch_path_component = fp.readline().strip()
|
||||
+ fp.close()
|
||||
+ add_dir_to_list(self.compiler.library_dirs,
|
||||
+ '/usr/lib/' + multiarch_path_component)
|
||||
+ add_dir_to_list(self.compiler.include_dirs,
|
||||
+ '/usr/include/' + multiarch_path_component)
|
||||
+ finally:
|
||||
+ os.unlink(tmpfile)
|
||||
+
|
||||
def detect_modules(self):
|
||||
# Ensure that /usr/local is always used
|
||||
add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
|
||||
add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
|
||||
+ self.add_multiarch_paths()
|
||||
|
||||
# Add paths specified in the environment variables LDFLAGS and
|
||||
# CPPFLAGS for header and library files.
|
||||
@@ -0,0 +1,45 @@
|
||||
--- setup.py.orig 2011-07-07 19:19:43.800122463 +0900
|
||||
+++ setup.py 2011-07-07 19:25:04.548416377 +0900
|
||||
@@ -13,6 +13,7 @@
|
||||
from distutils.command.build_ext import build_ext
|
||||
from distutils.command.install import install
|
||||
from distutils.command.install_lib import install_lib
|
||||
+from distutils.spawn import find_executable
|
||||
|
||||
# This global variable is used to hold the list of modules to be disabled.
|
||||
disabled_module_list = []
|
||||
@@ -242,10 +243,34 @@
|
||||
return platform
|
||||
return sys.platform
|
||||
|
||||
+ def add_multiarch_paths(self):
|
||||
+ # Debian/Ubuntu multiarch support.
|
||||
+ # https://wiki.ubuntu.com/MultiarchSpec
|
||||
+ if not find_executable('dpkg-architecture'):
|
||||
+ return
|
||||
+ tmpfile = os.path.join(self.build_temp, 'multiarch')
|
||||
+ if not os.path.exists(self.build_temp):
|
||||
+ os.makedirs(self.build_temp)
|
||||
+ ret = os.system(
|
||||
+ 'dpkg-architecture -qDEB_HOST_MULTIARCH > %s 2> /dev/null' %
|
||||
+ tmpfile)
|
||||
+ try:
|
||||
+ if ret >> 8 == 0:
|
||||
+ fp = open(tmpfile)
|
||||
+ multiarch_path_component = fp.readline().strip()
|
||||
+ fp.close()
|
||||
+ add_dir_to_list(self.compiler.library_dirs,
|
||||
+ '/usr/lib/' + multiarch_path_component)
|
||||
+ add_dir_to_list(self.compiler.include_dirs,
|
||||
+ '/usr/include/' + multiarch_path_component)
|
||||
+ finally:
|
||||
+ os.unlink(tmpfile)
|
||||
+
|
||||
def detect_modules(self):
|
||||
# Ensure that /usr/local is always used
|
||||
add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
|
||||
add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
|
||||
+ self.add_multiarch_paths()
|
||||
|
||||
# Add paths specified in the environment variables LDFLAGS and
|
||||
# CPPFLAGS for header and library files.
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user