[Python-Dev] Deprecate `from __future__ import unicode_literals`?

Raymond Hettinger raymond.hettinger at gmail.com
Fri Dec 16 17:56:55 EST 2016


> On Dec 16, 2016, at 11:24 AM, Guido van Rossum <guido at python.org> wrote:
> 
> I am beginning to think that `from __future__ import unicode_literals` does more harm than good. I don't recall exactly why we introduced it, but with the restoration of u"" literals in Python 3.3 we have a much better story for writing straddling code that is unicode-correct.
> 
> The problem is that the future import does both too much and not enough -- it does too much because it changes literals to unicode even in contexts where there is no benefit (e.g. the argument to getattr() -- I still hear of code that breaks due to this occasionally) and at the same time it doesn't do anything for strings that you read from files, receive from the network, or even from other files that don't use the future import.
> 
> I wonder if we can add an official note to the 2.7 docs recommending against it? (And maybe even to the 3.x docs if it's mentioned there at all.)

+1  Leaving it in place will likely cause more problems than it solves, so I think your suggest is a net win even if there is some bit of disruption.  Also, as far as I can tell, the adoption rate of Python 3.2 was very low.  Python 3's story didn't become attractive until later.
  

Raymond


More information about the Python-Dev mailing list