问题描述
在CentOS7.4系统中,使用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
命令无异常。
适用于
- 云服务器ECS
文档内容是否对您有帮助?