python3代替python2是不太对的,因为centos上有很多东西是基于python2的 比如防火墙的访问.
解决办法重装 python2.:
https://blog.csdn.net/u010797364/article/details/109098619

查看防火墙状态:
systemctl status firewalld

报错:
Traceback (most recent call last):
File “/usr/bin/firewall-cmd”, line 24, in
from gi.repository import GObject
ImportError: No module named gi.repository

解决办法
修改/usr/bin/firewall-cmd 目录中的python指向,由于firewall命令只支持python2,所以我们需要修改为python2的本地环境

执行 vi /usr/bin/firewall-cmd 和vi /usr/sbin/firewalld
修改第一行的python指向

由之前的#!/usr/bin/python修改为:#!/usr/bin/python2

查看防火墙状态:
systemctl status firewalld

如果报错:
-ImportError: No module named gi.repository
出现这个错误是因为python2没有gi模块,pip安装不了,需要用yum安装

yum install python-gobject
修复这个bug又来一个:
ImportError: No module named firewall.client
还是缺少东西

yum install python-firewall

查看防火墙状态:
systemctl status firewalld

解决。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐