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 问题解决

  • 相关阅读:
    容器之队列的使用
    容器之栈的使用
    rapidxml的使用
    C++判断文件夹是否存在并创建文件夹
    VS2017,不能将const char *转为char *
    CSS_day01_选择器
    HTML_day02_列表
    HTML_day01基本标签
    python_day3
    python_day2
  • 原文地址:https://www.cnblogs.com/pycode/p/6494838.html
Copyright © 2011-2022 走看看