This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author jkloth
Recipients dstufft, eric.araujo, jkloth, julien.malard, miss-islington, serhiy.storchaka
Date 2018-09-09.09:47:56
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1536486476.82.0.56676864532.issue34421@psf.upfronthosting.co.za>
In-reply-to
Content
The existing re-code solution is being triggered, as the `errors` in this case is 'surrogateescape' with an encoding of 'cp1252'.

Here, pip is using subprocess.Popen() to have Python run setup.py.  During execution, a filename, 'taqdir\\\u0634\u0645\u0627\u0631.py', which has characters not encodable in cp1252.

I think that here, Python is not configuring its stdin/stdout/stderr streams correctly when run as a subprocess connected to pipes.  Or, at least, subprocess.Popen() isn't passing the right (or enough) information to Python to get itself configured.

There should ultimately be a way to have Python (in a subprocess, on Windows) pass through Unicode untouched to its calling process.  I suppose it would mean setting the PYTHONIOENCODING envvar when using subprocess.

After all that, it seems that:
1) pip needs to be changed to support calling Python subprocesses to enable lossless unicode transmission,
2) change the `errors` check in distutils.log to include 'surrogateescape'? (the heart of this issue)
History
Date User Action Args
2018-09-09 09:47:56jklothsetrecipients: + jkloth, eric.araujo, serhiy.storchaka, dstufft, miss-islington, julien.malard
2018-09-09 09:47:56jklothsetmessageid: <1536486476.82.0.56676864532.issue34421@psf.upfronthosting.co.za>
2018-09-09 09:47:56jklothlinkissue34421 messages
2018-09-09 09:47:56jklothcreate