【问题标题】:Python ez_install : UnicodeDecodeError: 'ascii' codec can't decode byte 0xae in position 11Python ez_install:UnicodeDecodeError:'ascii'编解码器无法解码位置 11 中的字节 0xae
【发布时间】:2014-02-10 11:05:55
【问题描述】:

尝试安装 ez_install,Windows 7 64 位机器和新的 Python 2.7 时出现以下错误。有什么想法吗?

安装安装工具 回溯(最近一次通话最后): 文件“setup.py”,第 17 行,在 执行(init_file.read(),command_ns) 文件“”,第 8 行,在 文件“c:\users\namar\appdata\local\temp\tmp1tanvy\setuptools-2.1\setuptools\__ init__.py”,第 11 行,在 从 setuptools.extension 导入扩展 文件“c:\users\namar\appdata\local\temp\tmp1tanvy\setuptools-2.1\setuptools\ex 张力.py”,第 5 行,在 从 setuptools.dist 导入 _get_unpatched 文件“c:\users\namar\appdata\local\temp\tmp1tanvy\setuptools-2.1\setuptools\di st.py”,第 15 行,在 从 setuptools.compat 导入 numeric_types,basestring 文件“c:\users\namar\appdata\local\temp\tmp1tanvy\setuptools-2.1\setuptools\co mpat.py”,第 19 行,在 从 SimpleHTTPServer 导入 SimpleHTTPRequestHandler 文件“c:\python27\lib\SimpleHTTPServer.py”,第 27 行,在 类 SimpleHTTPRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler): SimpleHTTPRequestHand 中的文件“c:\python27\lib\SimpleHTTPServer.py”,第 208 行 勒 mimetypes.init() # 尝试读取系统 mime.types 文件“c:\python27\lib\mimetypes.py”,第 358 行,在 init db.read_windows_registry() 文件“c:\python27\lib\mimetypes.py”,第 258 行,在 read_windows_registry 对于 enum_types(hkcr) 中的子键名: 文件“c:\python27\lib\mimetypes.py”,第 249 行,在 enum_types 中 ctype = ctype.encode(default_encoding) # 在 3.x 中省略! UnicodeDecodeError:“ascii”编解码器无法解码位置 11 中的字节 0xae:序数 不在范围内(128) 安装过程中出了点问题。 请参阅上面的错误消息。 C:\用户\namar\下载>cd\ C:\>cd Python27

【问题讨论】:

    标签: python setuptools


    【解决方案1】:

    我遇到了同样的问题,通过删除窗口注册表“HKEY_CLASSES_ROOT\MIME\Database\Content Type”中的非ASCII字符解决了它,它可以工作。原因是

     ctype = ctype.encode(default_encoding)  
    

    遇到非ASCII字符会抛出UnicodeDecodeError,程序会停止。

    【讨论】:

      【解决方案2】:

      查看此链接。(http://blog.csdn.net/hugleecool/article/details/17996993)。

      在 C:\Python27\Lib\mimetypes.py 中查找下一个字符串

      default_encoding = sys.getdefaultencoding()
      

      替换为

      if sys.getdefaultencoding() != 'gbk':  
          reload(sys)  
          sys.setdefaultencoding('gbk')  
      default_encoding = sys.getdefaultencoding()
      

      注意:改为“gbk”选择您的编码。

      【讨论】:

        【解决方案3】:

        C:\Python27\Lib\mimetypes.py 中查找下一个字符串

        default_encoding = sys.getdefaultencoding()

        替换为

        if sys.getdefaultencoding() != 'gbk':  
            reload(sys)  
            sys.setdefaultencoding('gbk')  
        default_encoding = sys.getdefaultencoding()
        

        注意:改为“gbk”选择您的编码。

        上面的答案满足了我在使用 google app engine local web server for php 和 python 时出现 unicode decode error 的情况。

        【讨论】:

          【解决方案4】:

          在我的例子中,只需评论以下四行工作,

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

          并将UnicodeEncodeError 替换为UnicodeError 工作。

          更多信息,您可以查看this问题。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2013-12-05
            • 2011-06-29
            • 2019-05-25
            • 2017-10-19
            • 1970-01-01
            • 2013-08-20
            • 1970-01-01
            • 2013-10-16
            相关资源
            最近更新 更多