1. Éric Lemoine
  2. sqlalchemy


sqlalchemy / README.py3k


Current Python 3k support in SQLAlchemy is provided by a customized
2to3 script which wraps Python's 2to3 tool.

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 SQLAlchemy in Python 3

Once Distribute is installed, SQLAlchemy 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 
SQLAlchemys "sa2to3.py" script, which monkeypatches a preprocessor
onto the 2to3 tool:

    python3 sa2to3.py --no-diffs -w lib test examples

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 ./lib/ 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,
using the same instructions in README.unittests.

Current 3k Issues

Current bugs and tickets related to Py3k are on the Py3k milestone in trac: