Manage python installations in your $HOME
Project description
Overview
========
pythonbrew is a program to automate the building and installation of Python in the users $HOME.
pythonbrew is inspired by `perlbrew <http://github.com/gugod/App-perlbrew>`_ and `rvm <https://github.com/wayneeseguin/rvm>`_.
Installation
============
The recommended way to download and install pythonbrew is to run these statements in your shell::
curl -kL http://xrl.us/pythonbrewinstall | bash
After that, pythonbrew installs itself to ~/.pythonbrew.
Please add the following line to the end of your ~/.bashrc::
[[ -s $HOME/.pythonbrew/etc/bashrc ]] && source $HOME/.pythonbrew/etc/bashrc
If you need to install pythonbrew into somewhere else, you can do that by setting a PYTHONBREW_ROOT environment variable::
export PYTHONBREW_ROOT=/path/to/pythonbrew
curl -kLO http://xrl.us/pythonbrewinstall
chmod +x pythonbrewinstall
./pythonbrewinstall
Readline Support
----------------
Python uses a library called `readline` to allow line editing and command history. If you use Python interactively, it is recommended to install both the `readline` library and its headers. Otherwise, the arrow keys won't work in the Python interactive shell.
On Debian and Ubuntu systems, the required package is called `libreadline-dev`. On Fedora, Red Hat, and CentOS, the package is called `readline-devel`. No extra packages are required on Arch or Gentoo.
The `readline` support package must be installed before Python in order to work properly.
For Systemwide(Multi-User) installation
---------------------------------------
If the install script is run as root, pythonbrew will automatically install into /usr/local/pythonbrew.
The pythonbrew will be automatically configured for every user on the system if you install as root.
After installation, where you would normally use `sudo`, non-root users will need to use `sudopybrew`::
sudopybrew install -n -v -j2 2.7.2
Usage
=====
pythonbrew command [options]
Install some pythons::
pythonbrew install 2.7.2
pythonbrew install --verbose 2.7.2
pythonbrew install --test 2.7.2
pythonbrew install --test --force 2.7.2
pythonbrew install --configure="CC=gcc_4.1" 2.7.2
pythonbrew install --no-setuptools 2.7.2
pythonbrew install http://www.python.org/ftp/python/2.7/Python-2.7.2.tgz
pythonbrew install /path/to/Python-2.7.2.tgz
pythonbrew install /path/to/Python-2.7.2
pythonbrew install 2.7.2 3.2
Permanently use the specified python::
pythonbrew switch 2.7.2
pythonbrew switch 3.2
Use the specified python in current shell::
pythonbrew use 2.7.2
Runs a named python file against specified and/or all pythons::
pythonbrew py test.py
pythonbrew py -v test.py # Show verbose output
pythonbrew py -p 2.7.2 -p 3.2 test.py # Use the specified pythons
List the installed pythons::
pythonbrew list
List the available installation pythons::
pythonbrew list -k
Uninstall the specified python::
pythonbrew uninstall 2.7.2
pythonbrew uninstall 2.7.2 3.2
Remove stale source folders and archives::
pythonbrew cleanup
Upgrades pythonbrew to the latest version::
pythonbrew update
pythonbrew update --master
pythonbrew update --develop
Disable pythonbrew::
pythonbrew off
Create/Remove a symbolic link to python (in a directory on your $PATH)::
pythonbrew symlink # Create a symbolic link, like "py2.7.2", for each installed version
pythonbrew symlink -p 2.7.2
pythonbrew symlink pip # Create a symbolic link to the specified script in bin directory
pythonbrew symlink -r # Remove a symbolic link
pythonbrew symlink -v foo # Create a symbolic link to the specified virtual environment python in bin directory
Runs the buildout with specified or current using python::
pythonbrew buildout
pythonbrew buildout -p 2.6.6
Create isolated python environments (uses virtualenv)::
pythonbrew venv init
pythonbrew venv create proj
pythonbrew venv list
pythonbrew venv use proj
pythonbrew venv delete proj
pythonbrew venv rename proj proj2
Show version::
pythonbrew version
COMMANDS
========
install <version>
Build and install the given version of python.
Install setuptools and pip automatically.
switch <version>
Permanently use the specified python as default.
use <version>
Use the specified python in current shell.
py <python file>
Runs a named python file against specified and/or all pythons.
list
List the installed all pythons.
list -k <version>
List the available install pythons.
uninstall <version>
Uninstall the given version of python.
cleanup
Remove stale source folders and archives.
update
Upgrades pythonbrew to the latest version.
off
Disable pythonbrew.
symlink
Create/Remove a symbolic link to python (in a directory on your $PATH)
buildout
Runs the buildout with specified or current using python.
venv
Create isolated python environments (uses virtualenv)
version
Show version.
See more details below
`pythonbrew help <command>`
Changelog
=========
1.3.3 (2013-01-02)
----------------
- Fixed bug: venv rename
- develop option removed from `update` command
1.3.2 (2012-12-30)
----------------
- Improved `venv` command.
1.3.1 (2012-12-25)
----------------
- Fixed issue #80 Python 2.5: Undefine _POSIX_C_SOURCE on Lion to fix 8-byte strings from socket.inet_aton()
- Fixed issue #86 Fix for #85: Python 2.6.5's SSL Module fails to build on Ubuntu 11.10+
- Fixed issue #87 Documentation for getting libreadline to work
- Fixed issue #88 Add Python 2.6.8 to config.cfg
- Fixed issue #90 Create pythonbrew_systemwide script entrypoint
- Fixed issue #94 Fix `No module named _sqlite3` on CentOS 5
- Fixed issue #96 Added Python-3.3.0 to config.cfg.
- Fixed issue #98 Enhancement: cloning a virtual environment
1.3 (2012-04-21)
----------------
- Fixed issue #62,#70 Pythonbrew's bashrc $PATH error
- Fixed issue #74,#76 pythonbrew does not update $PYTHONPATH when changing environments
- Fixed issue #75 Replace the absolute path of the user's home with $HOME
- Fixed issue #68 update to 1.2 fails on OS X 10.7.3
1.2 (2012-04-15)
----------------
- Fixed issue #54 pythonbrew off` doesn't deactivate the virtualenv (unset the VIRTUAL_ENV env. variable)
- Added 2.7.3, 3.2.2, 3.2.3
- Added rename and print_activate command for venv (issue #50)
- Fixed issue #52 Apply patch for 2.6.5 and earlier
- Skip tests by default
- Added --test option for install
- Removed --no-test option for install
1.1 (2011-08-29)
----------------
- Added --framework, --universal and --static options to install command.
More
----
see the `pythonbrew/Changelog <https://github.com/utahta/pythonbrew/blob/master/ChangeLog>`_
========
pythonbrew is a program to automate the building and installation of Python in the users $HOME.
pythonbrew is inspired by `perlbrew <http://github.com/gugod/App-perlbrew>`_ and `rvm <https://github.com/wayneeseguin/rvm>`_.
Installation
============
The recommended way to download and install pythonbrew is to run these statements in your shell::
curl -kL http://xrl.us/pythonbrewinstall | bash
After that, pythonbrew installs itself to ~/.pythonbrew.
Please add the following line to the end of your ~/.bashrc::
[[ -s $HOME/.pythonbrew/etc/bashrc ]] && source $HOME/.pythonbrew/etc/bashrc
If you need to install pythonbrew into somewhere else, you can do that by setting a PYTHONBREW_ROOT environment variable::
export PYTHONBREW_ROOT=/path/to/pythonbrew
curl -kLO http://xrl.us/pythonbrewinstall
chmod +x pythonbrewinstall
./pythonbrewinstall
Readline Support
----------------
Python uses a library called `readline` to allow line editing and command history. If you use Python interactively, it is recommended to install both the `readline` library and its headers. Otherwise, the arrow keys won't work in the Python interactive shell.
On Debian and Ubuntu systems, the required package is called `libreadline-dev`. On Fedora, Red Hat, and CentOS, the package is called `readline-devel`. No extra packages are required on Arch or Gentoo.
The `readline` support package must be installed before Python in order to work properly.
For Systemwide(Multi-User) installation
---------------------------------------
If the install script is run as root, pythonbrew will automatically install into /usr/local/pythonbrew.
The pythonbrew will be automatically configured for every user on the system if you install as root.
After installation, where you would normally use `sudo`, non-root users will need to use `sudopybrew`::
sudopybrew install -n -v -j2 2.7.2
Usage
=====
pythonbrew command [options]
Install some pythons::
pythonbrew install 2.7.2
pythonbrew install --verbose 2.7.2
pythonbrew install --test 2.7.2
pythonbrew install --test --force 2.7.2
pythonbrew install --configure="CC=gcc_4.1" 2.7.2
pythonbrew install --no-setuptools 2.7.2
pythonbrew install http://www.python.org/ftp/python/2.7/Python-2.7.2.tgz
pythonbrew install /path/to/Python-2.7.2.tgz
pythonbrew install /path/to/Python-2.7.2
pythonbrew install 2.7.2 3.2
Permanently use the specified python::
pythonbrew switch 2.7.2
pythonbrew switch 3.2
Use the specified python in current shell::
pythonbrew use 2.7.2
Runs a named python file against specified and/or all pythons::
pythonbrew py test.py
pythonbrew py -v test.py # Show verbose output
pythonbrew py -p 2.7.2 -p 3.2 test.py # Use the specified pythons
List the installed pythons::
pythonbrew list
List the available installation pythons::
pythonbrew list -k
Uninstall the specified python::
pythonbrew uninstall 2.7.2
pythonbrew uninstall 2.7.2 3.2
Remove stale source folders and archives::
pythonbrew cleanup
Upgrades pythonbrew to the latest version::
pythonbrew update
pythonbrew update --master
pythonbrew update --develop
Disable pythonbrew::
pythonbrew off
Create/Remove a symbolic link to python (in a directory on your $PATH)::
pythonbrew symlink # Create a symbolic link, like "py2.7.2", for each installed version
pythonbrew symlink -p 2.7.2
pythonbrew symlink pip # Create a symbolic link to the specified script in bin directory
pythonbrew symlink -r # Remove a symbolic link
pythonbrew symlink -v foo # Create a symbolic link to the specified virtual environment python in bin directory
Runs the buildout with specified or current using python::
pythonbrew buildout
pythonbrew buildout -p 2.6.6
Create isolated python environments (uses virtualenv)::
pythonbrew venv init
pythonbrew venv create proj
pythonbrew venv list
pythonbrew venv use proj
pythonbrew venv delete proj
pythonbrew venv rename proj proj2
Show version::
pythonbrew version
COMMANDS
========
install <version>
Build and install the given version of python.
Install setuptools and pip automatically.
switch <version>
Permanently use the specified python as default.
use <version>
Use the specified python in current shell.
py <python file>
Runs a named python file against specified and/or all pythons.
list
List the installed all pythons.
list -k <version>
List the available install pythons.
uninstall <version>
Uninstall the given version of python.
cleanup
Remove stale source folders and archives.
update
Upgrades pythonbrew to the latest version.
off
Disable pythonbrew.
symlink
Create/Remove a symbolic link to python (in a directory on your $PATH)
buildout
Runs the buildout with specified or current using python.
venv
Create isolated python environments (uses virtualenv)
version
Show version.
See more details below
`pythonbrew help <command>`
Changelog
=========
1.3.3 (2013-01-02)
----------------
- Fixed bug: venv rename
- develop option removed from `update` command
1.3.2 (2012-12-30)
----------------
- Improved `venv` command.
1.3.1 (2012-12-25)
----------------
- Fixed issue #80 Python 2.5: Undefine _POSIX_C_SOURCE on Lion to fix 8-byte strings from socket.inet_aton()
- Fixed issue #86 Fix for #85: Python 2.6.5's SSL Module fails to build on Ubuntu 11.10+
- Fixed issue #87 Documentation for getting libreadline to work
- Fixed issue #88 Add Python 2.6.8 to config.cfg
- Fixed issue #90 Create pythonbrew_systemwide script entrypoint
- Fixed issue #94 Fix `No module named _sqlite3` on CentOS 5
- Fixed issue #96 Added Python-3.3.0 to config.cfg.
- Fixed issue #98 Enhancement: cloning a virtual environment
1.3 (2012-04-21)
----------------
- Fixed issue #62,#70 Pythonbrew's bashrc $PATH error
- Fixed issue #74,#76 pythonbrew does not update $PYTHONPATH when changing environments
- Fixed issue #75 Replace the absolute path of the user's home with $HOME
- Fixed issue #68 update to 1.2 fails on OS X 10.7.3
1.2 (2012-04-15)
----------------
- Fixed issue #54 pythonbrew off` doesn't deactivate the virtualenv (unset the VIRTUAL_ENV env. variable)
- Added 2.7.3, 3.2.2, 3.2.3
- Added rename and print_activate command for venv (issue #50)
- Fixed issue #52 Apply patch for 2.6.5 and earlier
- Skip tests by default
- Added --test option for install
- Removed --no-test option for install
1.1 (2011-08-29)
----------------
- Added --framework, --universal and --static options to install command.
More
----
see the `pythonbrew/Changelog <https://github.com/utahta/pythonbrew/blob/master/ChangeLog>`_
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pythonbrew-1.3.3.tar.gz
(51.3 kB
view hashes)