- 在CentOS7系统中,使用yum安装的yum-plugin-copr插件不能正常使用,执行如下命令。
yum copr enable ngompa/snapcore-el7
系统显示类似如下错误。
-
问题原因
Python的urllib3模块异常。 -
解决方案
登录服务器,执行如下命令,查看目录下的文件。
ls /usr/lib/yum-plugins/
系统显示类似如下,确认有copr.py脚本文件,说明yum-plugin-copr插件安装成功。
copr.py copr.pyc copr.pyo fastestmirror.py fastestmirror.pyc fastestmirror.pyo
进入/usr/lib/yum-plugins/目录,执行python命令,进入Python终端,然后执行如下命令导入测试。
import copr
系统显示类似如下,urllib3模块异常,导致cpor模块导入失败。
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "copr.py", line 29, in <module>
import requests
File "/usr/lib/python2.7/site-packages/requests/__init__.py", line 58, in <module>
from . import utils
File "/usr/lib/python2.7/site-packages/requests/utils.py", line 32, in <module>
from .exceptions import InvalidURL
File "/usr/lib/python2.7/site-packages/requests/exceptions.py", line 10, in <module>
from .packages.urllib3.exceptions import HTTPError as BaseHTTPError
File "/usr/lib/python2.7/site-packages/requests/packages/__init__.py", line 95, in load_module
raise ImportError("No module named '%s'" % (name,))
ImportError: No module named 'requests.packages.urllib3'
进一步验证,执行如下命令,发生报错,不能正常导入使用。
import urllib3
系统显示类似如下,确定是Python的urllib3模块异常,导致yum copr命令使用报错。
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/site-packages/urllib3/__init__.py", line 10, in <module>
from .connectionpool import (
File "/usr/lib/python2.7/site-packages/urllib3/connectionpool.py", line 31, in <module>
from .connection import (
File "/usr/lib/python2.7/site-packages/urllib3/connection.py", line 45, in <module>
from .util.ssl_ import (
File "/usr/lib/python2.7/site-packages/urllib3/util/__init__.py", line 4, in <module>
from .request import make_headers
File "/usr/lib/python2.7/site-packages/urllib3/util/request.py", line 5, in <module>
from ..exceptions import UnrewindableBodyError
ImportError: cannot import name UnrewindableBodyError
退出Python终端,进入/usr/lib/python2.7/site-packages/目录,把urllib3相关的目录都进行备份。
执行如下命令,重新安装urllib3模块。
pip install urllib3
进入Python终端,执行如下命令,导入urllib3模块,确认没有报错。
import urllib3
退出Python终端,执行yum copr命令无异常。