python版本问题导致ufw无法使用

python版本问题导致 sudo ufw enable 运行报错 ModuleNotFoundError: No module named ‘ufw’

Helllo 大家好这里是 🤯 爱好瞎捣鼓 😈 台球 👺 只做优质博客的 +blogger

今天捣鼓服务器,之前一直就在上面随便跑个web服务,也懒得开防火墙,直接就把防火墙disable了

结果今天试了一下发现ufw竟然不能跑了!!!!

一直报错说没有这个ufw的python包

root@wstp-new:~# ufw --help
Traceback (most recent call last):
  File "/usr/sbin/ufw", line 26, in <module>
    import ufw.frontend
ModuleNotFoundError: No module named ufw

这好说,接触过python一定知道没有这个包咱们给他pip安装就行

结果甜美的无论换什么源都下载不了这个包

root@wstp-new:~# pip install ufw
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
ERROR: Could not find a version that satisfies the requirement ufw (from versions: none)
ERROR: No matching distribution found for ufw

我还以为是我的pip也坏了然后就开始漫长的上网查资料

都说是什么python版本的问题,让我改这个ufw所在文件"/usr/sbin/ufw"的第一行

我们运行

vim /usr/sbin/ufw

打开开头显示这样的

#! /usr/bin/python3
#
# ufw: front-end for Linux firewalling (cli)
#
# Copyright 2008-2015 Canonical Ltd.
以下省略好多

说这个第一行的python3要改

类似这样的文章有好多

举个例子

让我把python的版本换成以前的,但是我试了之前的版本里面也并没有找到这个ufw的库

这篇帖子就更过分了 抄人家(https://askubuntu.com)也没抄全,唯一有用的一条被你给跳过了

基本上就是说要重新安装ufw,但是我试了还是没有用

这里贴出大佬最终的解法

sudo find /usr/lib/ -name "ufw"

将获得如下的输出

/usr/lib/python3.6/site-packages/ufw
or
/usr/lib/python3/dist-packages/ufw

这里我们找到该路径下的ufw包复制到我们目前使用python版本的安装目录的lib里面

这里我将这个包下载的贴出来

经验分享 程序员 微信小程序 职场和发展