=================
PYTHON 3 SUPPORT
=================

Python 3 support in Mako is provided by the Python 2to3 script.

Installing Distribute
---------------------

Distribute should be installed with the Python3 installation.  The
distribute bootloader is included.

Running as a user with permission to modify the Python distribution,
install Distribute:

    python3 distribute_setup.py

Installing Mako in Python 3
---------------------------------

Once Distribute is installed, Mako can be installed directly.  
The 2to3 process will kick in which takes several minutes:

    python3 setup.py install

Converting Tests, Examples, Source to Python 3
----------------------------------------------

To convert all files in the source distribution, run 
the 2to3 script:

    2to3 -w mako test

If using 3.1's 2to3 tool, the --no-diffs flag might help 
with unicode issues:

    2to3-3.1 -w --no-diffs mako test
    
The above will rewrite all files in-place in Python 3 format.

Running Tests
-------------

To run the unit tests, ensure Distribute is installed as above,
and also that at least the ./mako/ and ./test/ directories have been converted
to Python 3 using the source tool above.   A Python 3 version of Nose
can be acquired from Bitbucket using Mercurial:

    hg clone http://bitbucket.org/jpellerin/nose3/
    cd nose3
    python3 setup.py install

The tests can then be run using the "nosetests3" script installed 
by the above (python3 setup.py test doesn't seem to be working with 
nose3).

