I&#39;d like to get the doctests working on Python 3, but I&#39;m not sure about the best way to do it. I think most of the problems are with print statements, and it seems distribute doesn&#39;t recognise IPython doctests in order to convert them during the build step (as it does with regular doctests). A few options:<br>

<br>1. Use a regex to transform print statements in the doctest parser.<br>2. Transform any doctests using print where they are defined, with a helper function/decorator. Slight performance penalty to starting IPython, because we&#39;ll be transforming a number of doctests as we import modules. On the plus side, examples in docstrings will automatically be correct in Python 3. Regex transform is a bit trickier than 1, because the source is mixed up with prompts etc.<br>

3. Add print statements to doctests as the output of a doctest_print helper function (so doctest_print(&quot;x&quot;, file=&quot;outfile&quot;) returns &quot;print &gt;&gt;outfile, x&quot; on Python 2). Much the same pros and cons as 2.<br>

4. Write all doctests with print as a function, and run them on Python 2 with &quot;from __future__ import print_function&quot;. No performance penalty when loading IPython, but more confusing for anyone reading the code.<br>

<br>I&#39;ve not got a strong feeling about which is best. I&#39;d probably lean towards 1 or 2, but I&#39;d like some other opinions.<br><br>Thanks,<br>Thomas<br>