pip部署robotframework环境报ordinal not in range(128)

 问题描述:使用pip安装相关库的时候出现下面的错误 

   ‘ascii’ codec can't decode byte in position x: ordinal not in range(128)

pip部署robotframework环境报ordinal not in range(128)

出现上面的错误信息则是由于windows系统区域默认选择是中国时使用的默认编码格式是gdk,但是python2.x默认的编码是ascii 造成的问题。  

解决方案:修改python的默认编码

    操作步骤:  

  •         找到相对于安装路径为\Lib\site-packages的文件夹
  •        新增一个名称为 sitecustomize.py的文件:新建一个名称sitecustomize的txt文件,然后把.txt变成.py  【注意 不能隐藏已知的文件扩展名,否则新建的文件不会生效哦pip部署robotframework环境报ordinal not in range(128)
  •         在新增的文件下添加一下文本:        

                         import sys
                         reload(sys)

                        sys.setdefaultencoding('cp936')

【注意:CP936其实就是GBK,IBM在发明Code Page的时候将GBK放在第936页,所以叫CP936】

 

预期结果:

    设置完成以后通过下面的命令验证是否设置成功,设置成功完成以后可以进行重新安装

pip部署robotframework环境报ordinal not in range(128)

 

        结束语:由于python默认格式造成的安装失败的问题到此可以圆满解决,如果cmd默认路径中不存在中文很有可能这个问题不会出现,但是这个问题可能不止出现在环境部署阶段,由于后期我们在使用这个架构做接口测试时仍旧会出现这个问题只要我们使用的路径以及接口参数中有中文都可能会引发此问题,这个解决方案能长久有效的解决此类型的编码问题。