On 20 May 2017 at 01:16, Thomas Kluyver <tho...@kluyver.me.uk> wrote: > On Fri, May 19, 2017, at 03:41 PM, Paul Moore wrote: >> Can we specify what encoding the informational text must be written >> in? > > Sure, that makes sense. What about: > > All hooks are run with working directory set to the root of the source > tree, and MAY print arbitrary informational text on stdout and stderr. > This text SHOULD be UTF-8 encoded, but as building may invoke other > processes, install tools MUST NOT fail if the data they receive is not > valid UTF-8; though in this case the display of the output may be > corrupted. > > Do we also want to recommend that install tools set > PYTHONIOENCODING=utf-8 when invoking build tools? Or leave this up to > the build tools?
Setting PYTHONIOENCODING=utf-8:strict would potentially fail the "don't fail hard on misencoded output" requirement, and setting anything else is dubious from a potential data loss or compatibility point of view (as there's no "surrogateescape" error handler in Python 2). For use cases like distro package building, we'd also like to inherit the surrounding build environment, so explictly requiring installation tools to alter it at the Python level doesn't strike me as ideal. Cheers, Nick. -- Nick Coghlan | ncogh...@gmail.com | Brisbane, Australia _______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig