Linux yum 运行时提示编码问题错误

  1. 报错:
    UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal

  2. 解决:

这个报错是编码问题导致的
在文件头加上
# -*- coding:utf-8 -*-

对需要比较的中文字符变量如:
label = label.decode('utf-8')

  1. 具体实例:
    1. 问题展示:
    [root@localhost .pyenv]# yum-config-manager –add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    已加载插件:fastestmirror, langpacks
    /usr/lib/python2.7/site-packages/yum/misc.py:133: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
      return lambda s: s.lower() == pat
    
    1. 问题解决:
    1 # -*- coding:utf-8 -*-
    2 #! /usr/bin/python -tt
    3 """
    4 Assorted utility functions for yum.
    5 """
    6
    7 import types
    8 import os
    9 import sys
    10 import os.path
    11 from cStringIO import StringIO
    12 import base64
    13 import binascii
    14 import struct
    15 import re
    16 import errno
    17 import Errors
    18 import constants
    19 import pgpmsg
    20 import tempfile
    21 import glob
    22 import pwd
    23 import fnmatch
    24 import bz2
    25 import gzip
    26 import shutil
    27 import urllib
    28 import string
    ......
    124 def compile_pattern(pat, ignore_case=False):
    125     """ Compile shell wildcards, return a 'match' function. """
    126     if re_glob(pat):
    127         try:
    128             flags = ignore_case and re.I or 0
    129             return re.compile(fnmatch.translate(pat), flags).match
    130         except re.error:
    131             pass # fall back to exact match
    132     if ignore_case:
    133         pat = pat.lower()
    134         return lambda s: s.lower() == pat.decode('utf-8')
    135     return lambda s: s == pat
    
    
    1. 再次测试:
    [root@localhost .pyenv]# yum-config-manager –add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    已加载插件:fastestmirror, langpacks
    [root@localhost .pyenv]# yum-config-manager --add-repo  https://download.docker.com/linux/centos/docker-ce.repo
    已加载插件:fastestmirror, langpacks
    adding repo from: https://download.docker.com/linux/centos/docker-ce.repo
    grabbing file https://download.docker.com/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
    repo saved to /etc/yum.repos.d/docker-ce.repo
    [root@localhost .pyenv]# 
    

你可能感兴趣的:(Liunx,linux,运维,服务器)