As I've said before, on Windows this is a compatibility hack to make code 
written for other platforms work. Making the user opt in is not fair, and does 
not help improve the libraries that need it, because few people will change 
their library to work with a non default option.

The "developer" I'm concerned about doesn't need to turn this on - bytes work 
just about fine on POSIX (if you don't inspect the contents). It's the random 
user on Windows who installed their library that has the problem. They don't 
know the fix, and may not know how to apply it (e.g. if it's their Jupyter 
notebook that won't find one of their files - no obvious command line options 
here).

Any system that requires communication between two different versions of Python 
must have install instructions (if it's public) or someone who maintains it. It 
won't magically break without an upgrade, and it should not get an upgrade 
without testing. The environment variable is available for this kind of 
scenario, though I'd hope the testing occurs during beta and it gets fixed by 
the time we release.

Changing the locale encoding is something I'm quite happy to back out of. It's 
already easy enough for the developer to specify the encoding when opening a 
file, or to wrap open() and change their own default. But developers cannot 
change the encoding used by the os module, which is why we need to do it.

Cheers,
Steve

Top-posted from my Windows Phone

-----Original Message-----
From: "Victor Stinner" <victor.stin...@gmail.com>
Sent: ‎8/‎30/‎2016 1:21
To: "Nick Coghlan" <ncogh...@gmail.com>
Cc: "Steve Dower" <steve.do...@python.org>; "Python Dev" <python-dev@python.org>
Subject: Re: [Python-Dev] File system path encoding on Windows

Le 30 août 2016 03:10, "Nick Coghlan" <ncogh...@gmail.com> a écrit :
> However, this view is also why I don't agree with being aggressive in
> making this behaviour the default on Windows - I think we should make
> it readily available as a provisional feature through a single
> cross-platform command line switch and environment setting (e.g. "-X
> utf8" and "PYTHONASSUMEUTF8") so folks that need it can readily opt in
> to it,
I'm sorry, but I should have start from this point.
Modifyng the default or adding an option are completely different. I like the 
idea of adding a -X utf8 option on Windows. If it's an opt-in option, the 
developer takes the responsabilty of any possible backward incompatible change 
and plays the Unicode dance when handling input/output data with other 
applications.
My long email tries to explain why I consider that modifying the default in 3.6 
is a strong NO for me.
> but we can defer making it the default until 3.7 after folks
> have had a full release cycle's worth of experience with it in the
> wild.
If Steve changes its project to add an option but don't change the default, I 
will help to make it happen before 3.6 and help to implement the UNIX part. It 
would even make it stronger if the option is "portable", even if the exact 
semantic is differnent between UNIX and Windows.
If the default doesn't change, I don't think that a PEP is required.
Later when we will get enough feedback, we will be able to decide to drop the 
option (if it was a very bad idea because of very bad feedback), or even make 
it the default on a platform (Windows).
Victor
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to