PYTHON(1)

NAME
python, pythonw - an interpreted, interactive, object-oriented programming language

SYNOPSIS
python ...
pythonw ...

DESCRIPTION
To support multiple versions, the programs named python and pythonw now just select the real version of Python to run, depending on various settings. (As of Python 2.5, python and pythonw are interchangeable; both execute Python in the context of an application bundle, which means they have access to the Graphical User Interface; thus both can, when properly programmed, display windows, dialogs, etc.) The current supported versions are 2.6 and 2.7, with the default being 2.6. Use

    % man python2.6
    % man python2.7
    % man pythonw2.6
    % man pythonw2.7

to see the man page for a specific version. Without a version specified,

    % man pydoc

and the like, will show the man page for the (unmodified) default version of Python (2.6). To see the man page for a specific version, use, for example,

    % man pydoc2.7

CHANGING THE DEFAULT PYTHON
Using

    % defaults write com.apple.versioner.python Version 2.7

will make version 2.7 the user default when running the both the python and pythonw commands (versioner is the internal name of the version-selection software used).

To set a system-wide default, replace ‘com.apple.versioner.python’ with ‘/Library/Preferences/com.apple.versioner.python’ (admin privileges will be required).

The environment variable VERSIONER_PYTHON_VERSION can also be used to set the python and pythonw version:

    % export VERSIONER_PYTHON_VERSION=2.7 # Bourne-like shells
         or
    % setenv VERSIONER_PYTHON_VERSION 2.7 # C-like shells
    % python ...

This environment variable takes precedence over the preference file settings.

64-BIT SUPPORT
Versions 2.6 and 2.7 support 64-bit execution (which is on by default).

Like the version of Python, the python command can select between 32 and 64-bit execution (when both are available). Use:

    % defaults write com.apple.versioner.python Prefer-32-Bit -bool yes

to make 32-bit execution the user default (using ‘/Library/Preferences/com.apple.versioner.python’ will set the system-wide default). The environment variable VERSIONER_PYTHON_PREFER_32_BIT can also be used (has precedence over the preference file):

    % export VERSIONER_PYTHON_PREFER_32_BIT=yes # Bourne-like shells
         or
    % setenv VERSIONER_PYTHON_PREFER_32_BIT yes # C-like shells

Again, the preference setting and environmental variable applies to both python and pythonw.

USING A SPECIFIC VERSION
Rather than using the python command, one can use a specific version directly. For example, running python2.7 from the command line will run the 2.7 version of Python, independent of what the default version of Python is.

One can use a specific version of Python on the #! line of a script, but that may have portability and future compatibility issues.

Note that the preference files and environment variable that apply to the python command, do not apply when running a specific version of Python. In particular, running python2.6 will always default to 64-bit execution (unless one uses the arch(1) command to specifically select a 32-bit architecture).

SEE ALSO
python2.6(1), python2.7(1), pythonw2.6(1), pythonw2.7(1), arch(1)