На этот вопрос уже есть ответ здесь:
Я думаю, что я испортил свою систему. Недавно я установил на свой компьютер Ubuntu 14.04.
Первым делом я установил python 3.3 из исходных текстов (используя make altinstall
); но потом я понял, что python 3.4 уже встроен в Ubuntu 14.04, и решил удалить установку python 3.3. Для этого я следовал инструкциям этого сообщения .
К сожалению, я слишком поздно понял, что это привело к созданию файла .deb, содержащего пакет с именем «python», который впоследствии был установлен. Это привело к полному искажению моей системы пакетов. Любая попытка использовать apt-get приводит к множеству ошибок зависимости, подобных приведенной ниже:
mercurial : Depends: python (>= 2.7) but it is not going to be installed
Depends: python (< 2.8) but it is not going to be installed
Я попытался удалить специальный пакет, запустив dpkg -r python_3.3.5-1_amd64.deb
, но он говорит, что мне нужен удалить по имени пакета, а не по имени файла.И запуск dpkg -r python
также терпит неудачу:
dpkg: dependency problems prevent removal of python:
python-ubuntu-sso-client depends on python (>= 2.7).
python-ubuntu-sso-client depends on python (<< 2.8).
...
Первым решением, которое я придумал, была полная переустановка Ubuntu, но прежде чем я приступлю к этому радикальному решению, могу ли я каким-либо образом отменить последствия установки этого пользовательского пакета "python"?
Могу ли я каким-то образом использовать файл .deb для удаления пакета из системы (например, удалив файл, который предоставляет sit, а затем разрешив зависимости вручную)? Или этот пакет с именем "python" испортил пакеты без всякой надежды на восстановление?
Я думаю, что нашел ответ. Я загрузил реальный пакет "Python" от Пакеты Ubuntu и установил его:
cd /tmp
wget http://nl.archive.ubuntu.com/ubuntu/pool/main/p/python-defaults/python_2.7.5-5ubuntu3_amd64.deb
sudo dpkg -i python_2.7.5-5ubuntu3_amd64.deb
Для завершения целого процесса я закончил тем, что воссоздал свой пользовательский .deb файл (с python3.3) с новым несталкивающимся именем ("python-remove"), и затем установил и удалил его:
sudo dpkg -i python-to-remove_3.3.5-1_amd64.deb
sudo dpkg -r python-to-remove
Это удалило все файлы из этого пакета, в то время как файлы от других пакетов, кажется, не были затронуты. Я закончил тем, что удалил набор файлов документации также, но я никогда не использовал их прежде, таким образом, я думаю, что соглашаюсь с этим.
Попробуйте выполнить то, о чем вас спрашивает dpkg, я имею в виду:
dpkg -r python_3.3.5-1
Используйте имя пакета, а не файл.
Это довольно дикий выстрел, поэтому не стесняйтесь понижать его, если он не работает.
Python является безусловно одним из самых важных пакетов к Ubuntu. НЕ ПЫТАЙТЕСЬ УДАЛИТЬ ЕГО!!! ВАШ КОМПЬЮТЕР НЕ БУДЕТ РАБОТАТЬ ПРАВИЛЬНО ВООБЩЕ!!! Необходимо переустановить человечность. Кроме того, Вы не должны были бы удалять пакет Python так или иначе, почему будет Вы? Это невозможно так или иначе.