Loading... 原因是系统默认的Python中缺少six环境变量 直接``复制``或者``ln -s`` ``` cp /usr/local/lib/python3.6/site-packages/six.py /usr/lib/python3.6/site-packages/ ``` ![Screenshot_20201206_142749.png][1] <div class="panel panel-default collapse-panel box-shadow-wrap-lg"><div class="panel-heading panel-collapse" data-toggle="collapse" data-target="#collapse-1112c4fa6a892c9970688dc2229aa5a631" aria-expanded="true"><div class="accordion-toggle"><span style="">修复</span> <i class="pull-right fontello icon-fw fontello-angle-right"></i> </div> </div> <div class="panel-body collapse-panel-body"> <div id="collapse-1112c4fa6a892c9970688dc2229aa5a631" class="collapse collapse-content"><p></p> https://blog.xiaofeng-working.xyz/2018/07/09/169/ 最近在用fedora28,在其中安装了各种包,后来发现运行firewall-cmd便出现这个问题,同时防火墙也无法启动 但是用pip3 install six的时候却又提示已经安装过,顿感奇怪 后来仔细想想看,使用 locate six.py 1 locate six.py ,便得到如下结果 当中可以很明显的看到six.py已经安装,同时手动运行python3,在其中引入six这个包,没有任何问题,初步估计是环境变量的问题 因为firewall-cmd本质上就是一个python脚本,所以直接用vim打开这个文件 可以很明显的看到开头python3 -Es,使用python3 –help查询了下这两个参数的含义,可以确定是环境变量的问题,因为-E这个参数就是表明忽略python的环境变量,只使用默认的变量,为了验证这一点 使用python3 /usr/bin/firewall-cmd 执行,没有出现任何问题,接下来就是修复这个问题了,可以很简单的将-E参数去掉,但总感觉不妥,于是决定直接将six.py放入默认的路径中,接着再次运行,问题解决。 cp /usr/local/lib/python3.6/site-packages/six.py /usr/lib/python3.6/site-packages/ 1 cp /usr/local/lib/python3.6/site-packages/six.py /usr/lib/python3.6/site-packages/ 那么,six.py这个文件是做什么的呢?网上搜索了一下,是python2与python3的一个兼容模块,为了能让代码同时运行在python2与python3上,这个模块是必不可少的 可以点击这里了解详情:https://www.kawabangga.com/posts/2360 <p></p></div></div></div> [1]: https://assets.xyz.blue/attachments/2020/12/786516889.png 最后修改:2020 年 12 月 06 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 0 如果觉得我的文章对你有用,请随意赞赏