zoukankan      html  css  js  c++  java
  • 解决instance中文命名导致nova list报错问题

    当创建instance之后,如果使用英文命名,执行nova list的时候,无问题,但是,如果instance中出现中文,执行nova list的时候,会报以下错误:

    
    [root@controller ~]# nova list
    
    ERROR (UnicodeEncodeError): 'ascii' codec can't encode characters in position 4-7: ordinal not in range(128)
    
    

    原因:

    python在安装时,默认的编码是ascii,当程序中出现非ascii编码时,python的处理常常会报这样的错,python没办法处理非ascii编码的,此时需要自己设置将python的默认编码,一般设置为utf8的编码格式。

    解决办法:

    在python的libsite-packages文件夹下新建一个sitecustomize.py,并添加如下内容:

    
    [root@controller ~]# find / -name site-packages
    
    /usr/lib/python2.7/site-packages
    
    /usr/lib/python2.7/site-packages/flask/testsuite/test_apps/lib/python2.5/site-packages
    
    /usr/lib64/python2.7/site-packages
    
    [root@controller ~]# cd  /usr/lib/python2.7/site-packages/
    
    [root@controller site-packages]# cat sitecustomize.py
    
    # encoding=utf8
    
    import sys
    
    
    
    reload(sys)
    
    sys.setdefaultencoding('utf8')
    
    

    重新执行nova list 问题解决

  • 相关阅读:
    【CSS】盒子模型的计算
    【CSS】定义元素的位置
    【Jenkins】安装插件
    安装【Jenkins】
    Python【unittest】模块
    Python【pyyaml】模块
    CentOS下安装gcc和gdb
    汇编学习笔记(15)综合研究
    汇编学习笔记(14)BIOS对键盘输入的处理
    汇编学习笔记(13)直接定址表
  • 原文地址:https://www.cnblogs.com/pycode/p/6494838.html
Copyright © 2011-2022 走看看