garnaat / kappa

What precedes Lambda
http://kappa.readthedocs.org/en/develop/
Apache License 2.0
902 stars 89 forks source link

UnicodeDecodeError when installed as dependency of Zappa #127

Open topiaruss opened 6 years ago

topiaruss commented 6 years ago
$ pipenv install zappa
Installing zappa…
Collecting zappa
  Using cached zappa-0.44.3-py3-none-any.whl
Collecting kappa==0.6.0 (from zappa)
  Using cached kappa-0.6.0.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/0c/z4hp1gt53q7bkw2fjn7q9jkh0000gn/T/pip-build-cwsiey6i/kappa/setup.py", line 54, in <module>
        run_setup()
      File "/private/var/folders/0c/z4hp1gt53q7bkw2fjn7q9jkh0000gn/T/pip-build-cwsiey6i/kappa/setup.py", line 22, in run_setup
        long_description=open_file('README.rst').read(),
      File "/Users/russ/.local/share/virtualenvs/sirzappa-mr8M_sM7/bin/../lib/python3.6/encodings/ascii.py", line 26, in decode
        return codecs.ascii_decode(input, self.errors)[0]
    UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 2339: ordinal not in range(128)

The fix is simply to decode the rst as utf-8. PR to follow.

monkut commented 6 years ago

Hit the same issue when trying to install on ubuntu 16.04.

Note, this problem does not seem to occur on my macos machine. Currently, working around this by downloading the kappa package tar.gz file from pypi editing the setup.py file and installing manually via, python setup.py install

DavidM42 commented 6 years ago

what fixed it for me was to set my system locale to utf-8. explained here. The authors should probably support non utf-8 ready enviromnments but this should fix it in the short term

topiaruss commented 6 years ago

Yes. I think @DavidM42 is right, and my locale was not set as it should have been.

However, either with codecs or with io.open, I'd have thought this could have been merged by now. You can find numerous examples of the same technique.