由于UnicodeDecodeError,无法安装PIL

时间:2014-01-08 12:23:13

标签: python pip python-3.3 pillow

当我尝试使用pip-3.3安装Pillow时,我收到了一个错误,请参阅下面的回溯。

  File "/home/samsun/workspace/python/chat_environment/lib/python3.3/site-packages/pip/req.py", line 297, in egg_info_data
    data = fp.read()
  File "/home/samsun/workspace/python/chat_environment/lib/python3.3/encodings/ascii.py", line 26, in decode
    return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 14439: ordinal not in range(128)

我认为回溯告诉我文件中的某些字符是Unicode,但Python使用ASCII来读取文件。

我想更改python3.3 filesystemencoding来解决此错误;有没有办法更改默认的文件系统编码?

1 个答案:

答案 0 :(得分:7)

我也遇到了这个问题。我不确定这是一个小问题还是枕头问题,但“罪魁祸首”似乎是其中一个枕头作者的名字,其中包含非ascii字符(HåkanKarlsson)。显然,EGG信息文件是从Pillow中的CHANGES.rst文件构造的,而pip尝试在ascii中解析它,如果失败了。改变作者姓名似乎是一个坏主意,所以pip应该更好地处理。

事实上,pip install --upgrade pip为我工作(从1.4点升级到1.5点)。似乎this change解决了这个问题。