python安装第三方模块UnicodeDecodeError:'ascii' codec can't decode byte ···

python要安装第三方模块时,可以用easy_install '模块名' 来直接安装模块,但我在安装easy_install时遇到如上题错误UnicodeDecodeError:'ascii' codec can't decode byte ···

首先下载ez_setup.py:https://pypi.python.org/pypi/setuptools#windows  到某个目录下

CMD->cd到下载的那个目录

<span style="font-size:18px;">python ez_setup.py</span>

这时候如果没错误,easy_install就安装好了,可以看到C:\Python27\多了一个Script这个目录,下面有easy_install.exe,所以下一步是把这个目录添加到系统变量path


之后就可以在命令行直接运行easy_install了,但就在这个地方,会出现如题的错误,原因与注册表有关,可能与某些国产软件对注册表的改写的gbk格式导致python无法进行第三方库的安装操作。

解决方法:打开C:\Python27\Lib下的 mimetypes.py 文件,找到大概256行(你可以用Notepad++的搜索功能)的

‘default_encoding = sys.getdefaultencoding()’。

在这行前面添加三行:(注意缩进)

<span style="font-size:18px;">if sys.getdefaultencoding() != 'gbk':  
    reload(sys)  
    sys.setdefaultencoding('gbk')  
default_encoding = sys.getdefaultencoding()</span>

保存,再次运行就没错了,比如说我们想安装一个图像处理的模块,这个模块名叫PIL

<span style="font-size:18px;">easy_install PIL</span>

OK,错误解决。

猜你喜欢

转载自blog.csdn.net/zjccoder/article/details/41957837