<div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">On Thu, 9 Jun 2016 at 14:56 Nick Coghlan <<a href="mailto:ncoghlan@gmail.com">ncoghlan@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 8 June 2016 at 14:01, Neil Schemenauer <<a href="mailto:neil@python.ca" target="_blank">neil@python.ca</a>> wrote:<br>
> [I've posted something about this on python-ideas but since I now<br>
> have some basic working code, I think it is more than an idea.]<br>
><br>
> I think the uptake of Python 3 is starting to accelerate.  That's<br>
> good.  However, there are still millions or maybe billions of lines<br>
> of Python code that still needs to be ported.  It is beneficial to<br>
> the Python ecosystem if this code can get ported.<br>
><br>
> My idea is to make a stepping stone version of Python, between 2.7.x<br>
> and 3.x that eases the porting job.  The high level goals are:<br>
><br>
> - code coming out of 2to3 runs correctly on this modified Python<br>
><br>
> - code that runs without warnings on this modified Python will run<br>
>   correctly on Python 3.x.<br>
<br>
As Victor noted, and as the porting guide describes in<br>
<a href="https://docs.python.org/3/howto/pyporting.html#update-your-code" rel="noreferrer" target="_blank">https://docs.python.org/3/howto/pyporting.html#update-your-code</a>, we've<br>
determined that 2to3 isn't the best choice of tool for folks that<br>
can't afford to immediately drop Python 2 support.<br>
<br>
Once you switch to those now recommended more conservative migration<br>
tools, the tool suite you request already exists:<br>
<br>
- update your code with modernize or futurize<br>
- check it still runs on Python 2.7<br>
- check it doesn't generate warnings under 2.7's "-3" switch<br>
- check it passes "pylint --py3k"<br>
- check if it runs on Python 3.5<br></blockquote><div><br></div><div>`python3.5 -bb` is best to help keep Python 2.7 compatibility, otherwise what Nick said. :)<br></div></div></div>