[Python-Dev] File system path encoding on Windows

Victor Stinner victor.stinner at gmail.com
Tue Aug 30 11:06:06 EDT 2016


2016-08-30 16:31 GMT+02:00 Steve Dower <steve.dower at python.org>:
> 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).

There is already a DeprecationWarning. Sadly, it's hidden by default:
you need a debug build of Python or more simply to pass -Wd command
line option.

Maybe we should make this warning (Deprecation warning on bytes paths)
visible by default, or add a new warning suggesting to enable -X utf8
the first time a Python function gets a byte string (like a filename)?


> 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.

I disagree that breaking backward compatibility is worth it. Most
users don't care of Unicode since their application already "just
works well" for their use case.

Having to set an env var to "repair" their app to be able to upgrade
Python is not really convenient.

Victor


More information about the Python-Dev mailing list