• UnicodeDecodeError: 'ascii' codec can't decode byte 0xe0 in position 0


    Windows 7/8/10机器上安装Python 2.7后,下载一些Package包进行setup时总是报错UnicodeDecodeError,如下:

    File "C:/Python27/lib/mimetypes.py", line 250, in enum_types

    ctype = ctype.encode(default_encoding) # omit in 3.x!

    UnicodeDecodeError: 'ascii' codec can't decode byte 0xe0 in position 0: ordinal not in range(128)

    -----------------------------------

    (1) 在网上搜索到的解决方法如下:

    1. 这是Python 2 mimetypes的bug

    2. 需要将Python2.7/lib/mimetypes.py文件中如下片段注释或删除:

    try:
        ctype = ctype.encode(default_encoding) # omit in 3.x!
    except UnicodeEncodeError:
        pass

    -----------------------------------

    (2)补充其它解决办法

    解决办法:

    在报错的页面添加代码:

    import sys
    reload(sys)
    sys.setdefaultencoding('utf8')

    -----------------------------------

    执行 Python ez_setup.py,报错:

    UnicodeDecodeError: 'utf8' codec can't decode byte 0xb0 in position 35: invalid
     start byte

    解决办法:

    在报错的页面添加代码: import sys
    reload(sys)
    sys.setdefaultencoding('gb18030')

    然后再执行 Python ez_setup.py,成功了。

  • 相关阅读:
    匿名函数
    内置函数
    基础函数--3
    基础函数(2)
    基础函数(1)
    文件的相关操作
    知识点补充,set集合,深浅copy
    is 和 ==的区别
    Django-form组件中过滤当前用户信息
    Django的常用模块引入整理
  • 原文地址:https://www.cnblogs.com/emanlee/p/6786432.html
Copyright © 2020-2023  润新知