On 12/09/2011 08:35 AM, Michael Foord wrote: > On 9 Dec 2011, at 15:13, Barry Warsaw wrote: >> Oh, I remember this one, because I think I reported and fixed it. >> But I take it as a given that Python 2.6 is the minimal (sane) >> version to target for one-codebase cross-Python code. >> > > In mock (at least 5000 lines of code including tests) I target 2.4 -> > 3.2+. Admittedly mock does little I/O but does some fairly crazy > introspection (and even found bugs in Python 3 because of it).
pip and virtualenv also both support 2.4 - 3.2+ from a single codebase (pip is ~7300 lines of code including tests, virtualenv ~1600). I consider them a bit of a special case; since they are both early-stage bootstrapping tools, the inconvenience level for users of a 2to3 step or having to keep separate versions around would be higher than for an ordinary library. But I will say that the workarounds necessary to support 2.4 - 3.2 have not really been problematic enough to tempt me towards a more complex workflow, and I would probably take the single-codebase approach with another port, even if I needed to support pre-2.6. The sys.exc_info() business is ugly indeed, but (IMHO) not bad enough to warrant adding 2to3 hassles into the maintenance workflow. Carl _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com