После переустановки Python и ufw я получаю следующую ошибку:
user@machine:~$ sudo ufw status
Traceback (most recent call last):
File "/usr/sbin/ufw", line 25, in <module>
import ufw.frontend
ModuleNotFoundError: No module named 'ufw'
Я попытался переустановить ufw многократно, но я не заставляю его работать.
О чем я заметил pip
это sudo
использование pip2
вместо pip3
но также и использование python3
как python
:
user@machine:~$ pip -V
pip 19.3.1 from /usr/local/lib/python3.8/site-packages/pip (python 3.8)
user@machine:~$ sudo pip -V
pip 19.3.1 from /usr/local/lib/python2.7/dist-packages/pip (python 2.7)
user@machine:~$ sudo -i
root@machine:~# pip -V
pip 19.3.1 from /usr/local/lib/python3.8/site-packages/pip (python 3.8)
user@machine:~$ python -V
Python 3.8.0
user@machine:~$ sudo python -V
Python 3.8.0
user@machine:~$ sudo -i
root@machine:~# python -V
Python 3.8.0
Я не уверен, вызывает ли это проблемы все же.
История Кв.:
apt remove --purge python3-pip # This broke ufw probably because --purge
apt remove python3
apt install python3
apt remove python3 # Noticed outdated version, uninstall again and built from source afterwards
apt install python3-pip # Was done after building and installing python3 from source
sudo pip3 list
:
Package Version
---------- ---------
certifi 2019.9.11
chardet 3.0.4
idna 2.8
pip 19.3.1
requests 2.22.0
setuptools 41.2.0
urllib3 1.25.7
python3 -c 'import sys; print(sys.version); print(sys.path)'
:
3.8.0 (default, Dec 1 2019, 09:38:21)
[GCC 7.4.0]
['', '/usr/local/lib/python38.zip', '/usr/local/lib/python3.8', '/usr/local/lib/ python3.8/lib-dynload', '/usr/local/lib/python3.8/site-packages']
ls /usr/lib/python3/dist-packages/ufw/
applications.py backend_iptables.py backend.py common.py frontend.py __init__.py parser.py __pycache__ util.py
Вы, как предполагается, не удаляете python
из Ubuntu, потому что много пакетов основано на нем. Так как Вы уже установили Python, выполните команды, упомянутые ниже для переустановки ufw
sudo apt-get purge --auto-remove ufw
sudo apt-get install ufw
Это кажется ufw
был удален из pip3
, когда Вы удалили python3-pip
Попробуйте это для переустановки его:
sudo pip3 install https://launchpad.net/ufw/0.36/0.36/+download/ufw-0.36.tar.gz
Похоже, что версия Python ufw использовала, удален, и установленная версия отличается, чем это было, Таким образом, ufw сообщает об ошибке.
Вы можете traceback, который версия Python ufw использует следующей командой.
sudo find /usr/lib/ -name "ufw"
Например, Вы произведете подобный ниже (точный, зависит от Вашей версии Python ufw, использует).
/usr/lib/python3.6/site-packages/ufw
В вышеупомянутом примере ufw использует python 3.6. Необходимо переустановить конкретную версию Python согласно случаю.
ПРЕДУПРЕЖДЕНИЕ: Выполнение этого к пакетам как Python, вероятно, сделает Вашу систему неприменимой, НЕ ПЫТАЙТЕСЬ, ЕСЛИ ВЫ НЕ ПОНИМАЕТЕ ЭТО. Не обвиняйте меня, если Ваша система повреждается.
Лучшая вещь, которую Вы могли сделать теперь в этой ситуации, состоит в том, чтобы скопировать Ваши данные. Если Вы имеете внешний жесткий диск или что-то еще, так или иначе копируете Ваши файлы. Вы не должны удалять пакеты, которые предварительно установлены в Ubuntu после установки т.е. "Пакетов, которые Вы не устанавливали", в будущем, если Вы хотите удалить и переустановить какие-либо пакеты, не удаляют их, используют следующее:
sudo apt install --reinstall <package-name>
Я ранее удалил OpenSSL из Ubuntu из-за небольшой ошибки, и это удалило 129 пакетов, которые были необходимы для Ubuntu. Я должен был переустановить Ubuntu. Так будьте осторожны при удалении или переустановке пакетов.
В человечности 18.04 вся зависимость автоматически обрабатывается диспетчером пакетов. Вы предполагаете для не ручной установки зависимости.
Кажется на использование пакета Python, который не совместим с UFW. Если у Вас нет выполнения проекта Python, попытайтесь удалить Python и позволить UFW переустанавливать с зависимостью автоматически.
Остановите процесс, если Вы доберетесь, то сообщение как другой пакет будет удалено.
Все еще проблема. Попытка:
sudo способная способность установки
способность sudo устанавливает ufw