Intereting Posts
Вы имели в виду эту команду? (как ответить на это) Разница между распределенной и файловой системой кластера Белый список определенных двоичных файлов и скриптов внутри монтирования noexec / nosuid? Как получить дату создания файла на логическом томе NTFS? Преобразование .264 в .mp4 с использованием avconv Запуск Debian 9 завершается неудачно с: `Не удалось запустить Raise network interfaces` после замены материнской платы Выполняются ли команды через SSH прозрачно администратору удаленного хоста? Что означает для идентификатора файла Настройка ad-hoc в Debian с помощью DHCP? Получить текущий каталог скриптов (чтобы я мог включать файлы без относительных путей и запускать скрипт из разных источников) Команда принудительной оболочки для возврата Настройка свойств nvidia при запуске X-сервера Символы UTF-8 в строке состояния экрана Byobu В чем ключевое различие между конфигурацией grml zsh и конфигурацией oh-my-zsh CentOS: избегайте переключения ALT-F4 на консоль

Как yum удалять Python изящно?

Я просто попытался обновить установку Python на моей машине CentOS. После нескольких неудачных yum remove python я сделал yum remove python .

Затем начались проблемы. yum обнаружил около 300 зависимостей от машины, после того, как я подтвердил операцию, почти каждая команда и утилита стали недоступны, в том числе ls , wget , yum … У меня нет выбора, кроме перезагрузки экземпляра (я так благодарен, что это просто разработчик машина.)

Мне интересно, удаляет ли python настолько вредно, есть ли способ удалить python изящно?

Python требуется для многих дистрибутивов Linux. Многие системные утилиты, которые объединяют дистрибутивы (как основанные на графическом интерфейсе, так и не), запрограммированы в Python.

Версия python, системные утилиты запрограммированы в я буду называть «основным» питоном. Для Ubuntu 12.04, например, это 2.7.3, версия, которую вы получаете при вызове python в недавно установленной системе.

Из-за системных утилит, написанных на питоне, невозможно удалить основной питон, не нарушая работу системы. Даже очень важно обновить основной python с более поздней версией в той же серии major.minor, поскольку вам нужно позаботиться о ее компиляции с теми же параметрами конфигурации, что и основной питон. Это необходимо для получения правильных путей поиска для библиотек, которые использует основной питон, что часто не совсем то, что вы .configure при настройке .configure без параметров при загрузке python для компиляции python из исходного кода.

Установка другой версии из версии major.minor, которую система использует (т. Е. Главный питон), обычно не является проблемой. Т.е. вы можете скомпилировать питон 2.6 или 3.4 и установить его без проблем, поскольку он устанавливается рядом с основным (2.7.X) python. Иногда дистрибутив предоставляет эти различные пакеты major.minor, но они могут не быть последней версией для исправления ошибок в этой серии.

Проблемы начинаются, когда вы хотите использовать последние в основной серии python (например, 2.7.8 в системе с основной версией python – 2.7.3). Я рекомендую не пытаться заменить основной питон, а вместо этого компилировать и устанавливать 2.7.8 в отдельном месте (мой находится в /opt/python/2.7.8). Это будет держать вас в расписании исправлений безопасности вашего дистрибутива и гарантирует, что кто-то еще проверит совместимость библиотек python и против этой версии (как это используется системными утилитами!).

Для любой разработки с использованием этой версии python используйте virtualenv (или virtualenvwrapper ) и настройте среду 2.7.8, используя:

 virtualenv -p /opt/python/2.7.8/bin/python /tmp/test source /tmp/test/bin/activate 

(вторая строка предполагает, что вы используете bash )