解决import paramiko时出现UnicodeDecodeError: ‘ascii’ codec can’t decode...

解决import paramiko时出现UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xb0 in position 7: ordinal not in range(128)

操作系统:     win10 64位
python版本:  2.7.13
paramiko版本:2.2.1

问题描述

直接pip install paramiko安装完成后,import paramiko时会显示错误信息:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xb0 in position 7: ordinal not in range(128)

如下所示:
解决import paramiko时出现UnicodeDecodeError: ‘ascii’ codec can’t decode..._第1张图片

问题分析

从错误信息估计,应该是在执行“C:\Python27\lib\ntpath.py”文件中的 result_path = result_path + p_path语句,进行地址拼接时,result_path或者p_path中含有中文字符。

考虑到解决这类问题的通用解决办法:

import sys
reload(sys)
sys.setdefaultencoding("GBK")

尝试用此方法解决问题

问题解决

首先根据错误信息找到“C:\Python27\lib\ntpath.py”文件,在文件的开头输入

import sys
reload(sys)
sys.setdefaultencoding("GBK")

如下所示:

解决import paramiko时出现UnicodeDecodeError: ‘ascii’ codec can’t decode..._第2张图片

再次执行import paramiko可以发现现在模块导入成功了。

如下所示:
解决import paramiko时出现UnicodeDecodeError: ‘ascii’ codec can’t decode..._第3张图片

解决import paramiko时出现UnicodeDecodeError: ‘ascii’ codec can’t decode..._第4张图片

你可能感兴趣的:(白菜系列--Python)