Linux 防火墙新增端口失败 报错 ModuleNotFoundError: No module named 'gi'

安装完python3.6.4 后,服务器防火墙开通指定端口,报了异常 : 

[root@izuf6hdalw8vt65rax1sy4z ~]# firewall-cmd --permanent --zone=public --add-port=8000/tcp
Traceback (most recent call last):
  File "/usr/bin/firewall-cmd", line 24, in
    from gi.repository import GObject
ModuleNotFoundError: No module named 'gi'

Linux 防火墙新增端口失败 报错 ModuleNotFoundError: No module named 'gi'_第1张图片

 

网上搜了下,说是firewall命令只支持python2.x版本,但是我的python现在默认被指向了3.x,所以修改下防火墙关于python的配置:

找到/usr/bin/firewall-cmd 文件,编辑python配置(可以用工具直接修改文件或者命令vim方式编辑并保存),重新指向到当前主机的python2版本上

Linux 防火墙新增端口失败 报错 ModuleNotFoundError: No module named 'gi'_第2张图片

Linux 防火墙新增端口失败 报错 ModuleNotFoundError: No module named 'gi'_第3张图片

改为python2,保存(注意,这里不要去掉#号,不要手残删了。。)

Linux 防火墙新增端口失败 报错 ModuleNotFoundError: No module named 'gi'_第4张图片

找到/usr/sbin/firewalld 文件,编辑python配置,重新指向到当前主机的python2版本上

Linux 防火墙新增端口失败 报错 ModuleNotFoundError: No module named 'gi'_第5张图片

Linux 防火墙新增端口失败 报错 ModuleNotFoundError: No module named 'gi'_第6张图片

改为python2,保存

Linux 防火墙新增端口失败 报错 ModuleNotFoundError: No module named 'gi'_第7张图片

 

修改好防火墙的python配置指向之后,重新设置防火墙端口,并重启,成功。

firewall-cmd --permanent --zone=public --add-port=8000/tcp

firewall-cmd --reload

Linux 防火墙新增端口失败 报错 ModuleNotFoundError: No module named 'gi'_第8张图片

 

参考 https://www.jianshu.com/p/c8bf4db0cf74

你可能感兴趣的:(python)