Make use of io.open() with explicit file encoding in setup.py #132
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When installing this module on a system with Python 3 which has no or non-utf8 locale variables set installation fails because you’re making use of the open() command in setup.py to pipe in things like README.rst and CHANGELOG.rst. This happens because Python 3 tries loading those files with the default encoding (which happens to be ASCII), and then fails with an UnicodeDecodeError.
Suggestion: Use io.open(), which is available for both Python 2 and 3 and specify the encoding of said files explicitly.
One could argue that this problem is client-sided, but I don’t see any real drawbacks fixing this on your side.
Thanks.