【python】pip安装报错UnicodeDecodeError: 'ascii' codec can't decode byte 0xc4 in position 7: ordinal not in range(128)

刚安装完python,准备pip安装第三方库的时候出现了一个错误: 

UnicodeDecodeError: ‘ascii’ code can’t decode byte 0xef in position 7: ordinal not in range(128)

为什么会报错?

原因是pip安装python包会加载当前用户的用户目录,我的用户目录恰好是含有中文的,ascii不能进行编码。

解决办法1:

在python安装目录 Python27Libsite-packages 中新建一个文件sitecustomize.py 
内容写: 
  1.  
    import sys
  2.  
    sys.setdefaultencoding(‘gb2312’)

python解析器会自动运行这个文件。sys.setdefaultencoding是python设置系统默认编码,大家可以在这里试试gbk也行(方法二用gbk尝试一下),配置好后,再在cmd窗口执行pip命令就可以了。

解决办法2:

修改python安装目录 Python27Lib目录下的mimetypes.py文件。
在import下添加如下几行:
  1.  
    if sys.getdefaultencoding() != 'gbk':
  2.  
    reload(sys)
  3.  
    sys.setdefaultencoding('gbk')

添加完成并保存,进入cmd窗口执行pip命令,结果是可行的。
原文地址:https://www.cnblogs.com/ziyoublog/p/9406182.html