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

  • 相关阅读:
    ST (Sparse Table:稀疏表)算法
    P3379 【模板】最近公共祖先(LCA)
    AT1357 n^p mod m(洛谷)
    poj2018 Best Cow Fences
    P1024 一元三次方程求解
    poj2456
    poj1064
    P2047 [NOI2007]社交网络(洛谷)
    poj1734
    洛谷P2886 [USACO07NOV]牛继电器Cow Relays
  • 原文地址:https://www.cnblogs.com/pycode/p/6494838.html
Copyright © 2011-2022 走看看