Не мог использовать UFW после переустановки Python

После переустановки 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
4
задан 2 December 2019 в 11:23

5 ответов

Вы, как предполагается, не удаляете python из Ubuntu, потому что много пакетов основано на нем. Так как Вы уже установили Python, выполните команды, упомянутые ниже для переустановки ufw

sudo apt-get purge --auto-remove ufw
sudo apt-get install ufw
1
ответ дан 21 December 2019 в 23:51

Это кажется ufw был удален из pip3, когда Вы удалили python3-pip

Попробуйте это для переустановки его:

sudo pip3 install https://launchpad.net/ufw/0.36/0.36/+download/ufw-0.36.tar.gz
1
ответ дан 21 December 2019 в 23:51

Похоже, что версия 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 согласно случаю.

1
ответ дан 21 December 2019 в 23:51

Считайте это тщательно

ПРЕДУПРЕЖДЕНИЕ: Выполнение этого к пакетам как Python, вероятно, сделает Вашу систему неприменимой, НЕ ПЫТАЙТЕСЬ, ЕСЛИ ВЫ НЕ ПОНИМАЕТЕ ЭТО. Не обвиняйте меня, если Ваша система повреждается.

Лучшая вещь, которую Вы могли сделать теперь в этой ситуации, состоит в том, чтобы скопировать Ваши данные. Если Вы имеете внешний жесткий диск или что-то еще, так или иначе копируете Ваши файлы. Вы не должны удалять пакеты, которые предварительно установлены в Ubuntu после установки т.е. "Пакетов, которые Вы не устанавливали", в будущем, если Вы хотите удалить и переустановить какие-либо пакеты, не удаляют их, используют следующее:

sudo apt install --reinstall <package-name>

Я ранее удалил OpenSSL из Ubuntu из-за небольшой ошибки, и это удалило 129 пакетов, которые были необходимы для Ubuntu. Я должен был переустановить Ubuntu. Так будьте осторожны при удалении или переустановке пакетов.

0
ответ дан 21 December 2019 в 23:51

В человечности 18.04 вся зависимость автоматически обрабатывается диспетчером пакетов. Вы предполагаете для не ручной установки зависимости.

Кажется на использование пакета Python, который не совместим с UFW. Если у Вас нет выполнения проекта Python, попытайтесь удалить Python и позволить UFW переустанавливать с зависимостью автоматически.

Остановите процесс, если Вы доберетесь, то сообщение как другой пакет будет удалено.

Все еще проблема. Попытка:

sudo способная способность установки

способность sudo устанавливает ufw

0
ответ дан 21 December 2019 в 23:51

Другие вопросы по тегам:

Похожие вопросы: