1. 程式人生 > >pip 安裝pandas報UnicodeDecodeError: 'ascii' codec can't decode byte 0xd5錯

pip 安裝pandas報UnicodeDecodeError: 'ascii' codec can't decode byte 0xd5錯

當python在window環境中通過pip安裝pandas報標題這樣的錯,主要是因為python預設編碼格式是:ascii

在https://www.python.org/dev/peps/pep-0100/文章中有如下介紹

Unicode Default Encoding

    The Unicode implementation has to make some assumption about the
    encoding of 8-bit strings passed to it for coercion and about the
    encoding to as default for conversion of Unicode to strings when
    no specific encoding is given.  This encoding is called <default
    encoding> throughout this text.

    For this, the implementation maintains a global which can be set
    in the site.py Python startup script.  Subsequent changes are not
    possible.  The <default encoding> can be set and queried using the
    two sys module APIs:

      sys.setdefaultencoding(encoding)
        --> Sets the <default encoding> used by the Unicode implementation.
            encoding has to be an encoding which is supported by the
            Python installation, otherwise, a LookupError is raised.

            Note: This API is only available in site.py!  It is
            removed from the sys module by site.py after usage.

      sys.getdefaultencoding()
        --> Returns the current <default encoding>.

    If not otherwise defined or set, the <default encoding> defaults
    to 'ascii'.  This encoding is also the startup default of Python
    (and in effect before site.py is executed).

    Note that the default site.py startup module contains disabled
    optional code which can set the <default encoding> according to
    the encoding defined by the current locale.  The locale module is
    used to extract the encoding from the locale default settings
    defined by the OS environment (see locale.py).  If the encoding
    cannot be determined, is unknown or unsupported, the code defaults
    to setting the <default encoding> to 'ascii'.  To enable this
    code, edit the site.py file or place the appropriate code into the
    sitecustomize.py module of your Python installation.

解決方法:在python/lib/site.py中加入  

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


問題就解決了。。。。。。。。。。。。