阿里云主机Centos7系统插件“copr”不能被导入问题解决办法

最近搬主题新入了一个阿里云的轻量服务器,但是在安装系统的时候突然系统一直提示Plugin"copr"can't be imported,如果是中文的话就显示插件“copr”不能被导入。搬主题也不懂什么情况,好像这个情况就阿里云CentOS7的系统比较常见,搬主题找了很久,最终解决。接下来搬主题分享一下解决办法。

问题描述

CentOS7.6系统中,使用yum安装的任何系统插件均不能正常使用插件“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/目录

cd /usr/lib/python2.7/site-packages/

把urllib3相关的目录都进行备份。然后都删除,如下,将这些文件夹都删除

执行如下命令,重新安装urllib3模块。

pip install urllib3

再次执行python命令进入Python终端,执行如下命令,导入urllib3模块,确认没有报错。也就是没有任何报错出来。

import urllib3

按Ctrl+D组合键退出Python终端,执行yum copr命令无异常。

插件已经正常加载,没有报错了。

千百度
© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容