zoukankan      html  css  js  c++  java
  • Python使用easyinstall安装时报UnicodeDecodeError的解决方法

    Python使用easy-install安装时报UnicodeDecodeError的解决方法,有需要的朋友可以参考下。

    问题描述:

    在使用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应该也能用同样的方法解决。

    不过记得先注释原语句后修改,方便出问题后恢复原样。

  • 相关阅读:
    Mybatis(4) 映射文件-参数处理
    Mybatis(3) 映射文件-增删改查
    Mabatis(2) 全局配置文件
    Mybatis(1) 创建Mybatis HelloWorld
    过滤器和拦截器之间的区别
    Redis(3) 配置文件 redis.conf
    Redis(2) 数据类型
    Redis(1) 初识Redis
    ActiveMQ(4) ActiveMQ JDBC 持久化 Mysql 数据库
    8.字典
  • 原文地址:https://www.cnblogs.com/python2016/p/5745980.html
Copyright © 2011-2022 走看看