zoukankan      html  css  js  c++  java
  • cobbler报错总结

    cobbler  sync报错

    之前部署了openstack虚拟化环境,有一天在使用nova list查看虚拟机的时候,突然报错!如下:

    [root@linux-node1 src]# nova list
    ERROR (UnicodeEncodeError): 'ascii' codec can't encode character u'uff08' in position 9: ordinal not in range(128)

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

    查阅网上,可以在程序中修改所有涉及到编码的地方,强制编码为utf8,即添加代码encode("utf8"),这种方法并不推荐使用,因为一旦少写一个地方,将会导致大量的错误报告。

    -------------------------------------------------
    这里介绍一个一次性修改后永久生效的方法:
    在python的libsite-packages文件夹下新建一个sitecustomize.py
    [root@linux-node1 nova]# find / -name site-packages
    /usr/lib/python2.7/site-packages
    /usr/lib64/python2.7/site-packages

    [root@linux-node1 nova]# cd /usr/lib/python2.7/site-packages/
    [root@linux-node1 site-packages]# cat sitecustomize.py #添加如下内容,设置编码为utf8
    # encoding=utf8 
    import sys

    reload(sys) 
    sys.setdefaultencoding('utf8')

    此时重启python解释器,执行sys.getdefaultencoding(),发现编码已经被设置为utf8的了,多次重启之后,效果相同,这是因为系统在python启动的时候,自行调用该文件,设置系统的默认编码,而不需要每次都手动的加上解决代码,属于一劳永逸的解决方法。

    [root@linux-node1 nova]# python                                       #终端进入python,即是重启python解释器!可以多次进入  我是重启的服务器才生效
    Python 2.7.5 (default, Aug 18 2016, 15:58:25) 
    [GCC 4.8.5 20150623 (Red Hat 4.8.5-4)] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>>

    接着,再次使用nova list命令,就没有那个报错了!
    [root@linux-node1 src]# nova list
    +--------------------------------------+----------------------------+--------+------------+-------------+--------------------+
    | ID | Name | Status | Task State | Power State | Networks |
    +--------------------------------------+----------------------------+--------+------------+-------------+--------------------+
    | b6a4738d-7e01-4068-a09b-7008b612d126 | beta-new1(beta环境1) | ACTIVE | - | Running | flat=192.168.1.151 |
    | 9acdb28b-02c2-41bb-87c4-5f3a8fa008ab | dev-new-test1(测试环境1) | ACTIVE | - | Running | flat=192.168.1.150 |
    | 30e5ba3e-3942-4119-9ba6-7523cf865b6f | kvm-server003 | ACTIVE | - | Running | flat=192.168.1.152 |
    | a2893208-3ec9-4606-ab82-d7a870206cb9 | kvm-server004 | ACTIVE | - | Running | flat=192.168.1.153 |
    | 3483d9f1-4015-48d9-9837-b67ca82dd54d | kvm-server005 | ACTIVE | - | Running | flat=192.168.1.154 |
    +--------------------------------------+----------------------------+--------+------------+-------------+--------------------+

    ***************当你发现自己的才华撑不起野心时,就请安静下来学习吧***************
  • 相关阅读:
    iOS开发笔记--Layer 图层圆角、边框 、底纹其他常用操作
    tableView中deselectRowAtIndexPath的作用
    升级到XCode6后,iOS8里设置tableview的setSeparatorInset:UIEdgeInsetsZero不起作用的解决办法
    UITableView代理和数据源方法总结
    ios修改textField的placeholder的字体颜色、大小
    iOS-TextField知多少
    iOS开发SVN更新代码不报错却运行不了问题
    apache http server 局域网无法访问
    修改 apache http server 默认站点目录
    批处理 教程(转载)
  • 原文地址:https://www.cnblogs.com/lazyball/p/7576344.html
Copyright © 2011-2022 走看看