您的位置:首页 > 编程语言 > Python开发

Python使用easy-install安装时报UnicodeDecodeError的解决方法

2014-11-02 23:52 931 查看
问题描述:

在使用easy-install安装matplotlib、pyparsing时一直报如下错误:

File "G:\Python27\lib\ntpath.py", line 84, in join
result_path = result_path + p_path
UnicodeDecodeError: 'ascii' codec can't decode byte 0xd4 in position 7: ordinal not in range(128)


我的软件环境如下:

Python 2.7.8 (default, Jun 30 2014, 16:03:49) [MSC v.1500 32 bit (Intel)] on win
32


我的系统环境如下:

Windows 8.1 64-bit

解决方法:

错误提示表明应该是编码问题。我按照错误提示,对ntpath.py进行了修改,将第84行改为如下:

<pre name="code" class="python">        try:
result_path = result_path + p_path
except UnicodeDecodeError:
result_path = result_path.decode(sysencoding).encode(sysencoding) + p_path.decode(sysencoding).encode(sysencoding)


然后在该文件的import语句结束后的位置添加:

sysencoding = sys.getfilesystemencoding()


解决了安装报错的问题。

附:

除此以外的其他ntpath.py中碰到的UnicodeDecodeError应该也能用同样的方法解决。

不过记得先注释原语句后修改,方便出问题后恢复原样。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: