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,错误解决。