2017-02-17 25 views
1

Я играл с Fedora, пытаясь удалить модуль python. Я не мог найти тот, который я искал, поэтому мозг полумануса-приматов подумал о Идеи, чтобы выполнить это.DNF и YUM не работают после Purging usr/lib/python3.5/site-packages/

sudo rm -rf /usr/lib/python3.5/site-packages/ 

Это действительно так, и только после этого я понял, насколько я был глуп. DNF и YUM зависит от него, и всякий раз, когда я выполняю DNF я получаю

Traceback (most recent call last): 
    File "/usr/bin/dnf", line 57, in <module> 
    from dnf.cli import main 
ImportError: No module named 'dnf' 

И когда я исполню YUM

Redirecting to '/usr/bin/dnf ' (see 'man yum2dnf') 

Traceback (most recent call last): 
    File "/usr/bin/dnf", line 57, in <module> 
    from dnf.cli import main 
ImportError: No module named 'dnf' 

Единственное, что работает это yum-deprecated. Все остальное в смятении.

Так как я могу это исправить?

ответ

2

Очистка каталога сайтов-пакетов Python3 удаляет множество библиотек, которые Fedora должна функционировать должным образом. Это означает, что такие инструменты, как dnf и yum, не работают.

Это шаги, которые я предпринял, чтобы исправить это.

Шаг 1: Установите yum-deprecated. Просто введите yum-устаревший на терминал, и он спросит, хотите ли вы его установить. Тип y и он будет установлен.

Шаг 2: Запустите эту команду Bash

rpm -qa | egrep "^python3" | sed ':a;N;$!ba;s/\n/ /g' | xargs sudo yum-deprecated reinstall -y 

Это находит все имена установленных Python 3 пакетов и установите их.

Примечание для себя: никогда не запускайте такие команды, как sudo rm -rf /usr/lib/python3.5/site-packages/.

1

Вы в основном удалили много файлов python. Большая часть системы зависит от python, в том числе от dnf, которая написана на python.

Лучшее, что нужно сделать, это создать резервную копию всех ваших файлов и переустановить систему. Если yum-deprecated все еще работает, то, возможно, посчастливится с переустановкой dnf:

yum-deprecated reinstall "dnf*" 

, но, скорее всего, вам потребуется гораздо больше пакетов, чтобы взять ту же самую процедуру.

+0

Не исправить. Можете ли вы указать имена пакетов Python, которые вы установили, в качестве файла требований. –

2

Используйте «rpm -Va» для идентификации пакетов с отсутствующими файлами. Затем вам нужно будет загрузить соответствующие файлы RPM из зеркала Fedora, а затем используйте rpm --reinstall, чтобы исправить это.

Пакеты dnf и yum более высокого уровня полагаются на Python, поэтому они могут быть просто сломаны. К счастью, команда rpm нижнего уровня не делает этого, поэтому, если пакеты python - все, что вы удалили, это должно вернуть вас в форму.

+0

Я сделал это, и я отправил вывод в этот файл https://drive.google.com/file/d/0B-fWI8D4m3DxcWk0bmI3R1J5bGc/view?usp=sharing Это около 7000 строк. Не особенно полезно. –

+0

Никогда не обращай внимания, работаю. благодаря –