На моем компьютере RHEL5 установлены python 2.4 и 2.6.
Но
[de22596 gnuradio]:+ss$ python -V
Python 2.4.3
Я попытался создать символическую ссылку из / usr / bin python -> python26, тогда я получил
[de22596 gnuradio]:+ss$ python -V
Python 2.6
Но много чего ломается, вроде конфетки. Как я могу это исправить?
Прямо сейчас у меня есть это:
[de22596 bin]:$ ls -l python*
lrwxrwxrwx 1 root root 9 Jul 20 10:52 python -> python2.4
lrwxrwxrwx 1 root root 6 Jul 12 15:02 python2 -> python
-rwxr-xr-x 2 root root 8304 Jun 11 2009 python2.4
-rwxr-xr-x 2 root root 8328 Apr 9 11:17 python26
-rwxr-xr-x 2 root root 8328 Apr 9 11:17 python2.6
-rwxr-xr-x 1 root root 1418 Apr 9 11:17 python2.6-config
-rwxr-xr-x 2 root root 8304 Jun 11 2009 python.back
lrwxrwxrwx 1 root root 16 Jul 20 10:34 python-config -> python2.6-config
Могу я сделать
yum remove python2.4
И ожидать, что все по-прежнему будет работать? Я беспокоюсь, потому что yum - это скрипт Python, поэтому, если я удалю python2.4, он будет достаточно умным, чтобы
К сожалению, вы не можете удалить Python 2.4 из RHEL5, если вы не можете удалить (или исправить) десятки скриптов Python, которые работают только с 2.4, а не с 2.6. Вы можете легко установить 2.6 параллельно с 2.4 (как вы уже знаете), но удаление 2.4 - это «серьезная операция». Вы, конечно, можете попробовать, но большинство пользователей / операторов просто не беспокоит.
Как отметил другой плакат, «/ usr / bin / python26» находится в вашем PATH по умолчанию, как и «/ usr / bin / python». В командной строке вы можете просто вызвать «python26» вместо «python». В ваших сценариях / программах для версии 2.6 вы можете заменить строки she-bang на '#! / Usr / bin / python26'.
Работать с модулями только для 2.6 немного сложнее. Вам нужно будет переместить их из / usr / lib / python / ... в / usr / lib / python26 / ... Если вам повезет, возможно, кто-то уже упаковал вариант специально для Python 2.6 на RHEL5 с измененными путями, или вы можете изменить и перестроить существующие RPM самостоятельно.
Проблема в том, что переход с Python 2.4 на 2.6 привел к ряду недостатков обратной совместимости. Таким образом, многие сценарии, созданные с учетом версии 2.4, не будут работать должным образом в версии 2.6 без внесения исправлений. (Есть люди, которые утверждают, что 2.6 имеет обратную совместимость ... это близко, но не на 100%.)
Последние выпуски Fedora и бета-версия RHEL6 включают более продвинутые версии Python (2.5+), а также обновления для десятков (возможно, сотен) скриптов Python. Но Red Hat решила сохранить свою ветку EL5 на Python 2.4, вероятно, из-за риска поломки любых скриптов, предназначенных только для Python 2.4, работающих на клиентских машинах. (Это довольно стандартная практика для такой долгосрочной стабильной серии дистрибутивов, как RHEL.)
Просто. Не делай этого. Либо измените строку shebang соответствующих скриптов, либо вызовите python26
прямо.
Я знаю, что это не будет слишком полезным, но зачем вам обновлять python? - RHEL5 нацелен на стабильность, и, следовательно, существует неизбежный компромисс в возможности использования новых выпусков.