I think one thing that stalled adoption was the difficulty of migrating to Unicode string constants. In Python 2, you could make a unicode string as u&quot;Entré&quot;, but in Python 3, the &#x27;u&#x27; was not permitted. Allowing the superfluous u&quot; notation in Python 3 was a big aid in writing 2 and 3 compatible software. Don&#x27;t remember when that was introduced, Python 3.2?<p>Within the last six months we&#x27;ve moved to writing all new code in Python 3 and migrating a fair bit of legacy code as well. Been fairly smooth on Linux -- a bit rockier on Windows.