Atualizando o Python no RHEL5

1

Eu tenho o python 2.4 e 2.6 instalado na minha máquina RHEL5.

Mas

[de22596 gnuradio]:+ss$ python -V
Python 2.4.3

Eu tentei criar um link simbólico em / usr / bin python - > python26, então eu recebo

[de22596 gnuradio]:+ss$ python -V
Python 2.6

Mas muitas coisas quebram, como o yum. Como posso consertar isso?

Neste momento, tenho isto:

[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

Eu poderia fazer

yum remove python2.4

E espere que as coisas continuem funcionando? Estou preocupado porque yum é um script python, então se eu remover python2.4 será inteligente o suficiente para

    
por devin 20.07.2010 / 16:16

3 respostas

4

Infelizmente, você não pode remover o Python 2.4 do RHEL5, a menos que seja capaz de remover (ou corrigir) dezenas de scripts Python que só funcionam com o 2.4, não com o 2.6. Você pode facilmente instalar o 2.6 em paralelo com o 2.4 (como você já sabe), mas remover o 2.4 é uma "grande cirurgia". Você certamente pode tentar, mas a maioria dos usuários / operadores simplesmente não se incomoda.

Como outro pôster, '/ usr / bin / python26' está em seu PATH padrão, assim como '/ usr / bin / python'. Na linha de comando, você pode apenas chamar 'python26' em vez de 'python'. Em seus scripts / programas específicos do 2.6, você pode substituir suas linhas she-bang com '#! / Usr / bin / python26'.

O manuseio de módulos somente 2.6 é um pouco mais difícil. Você precisará movê-los de '/ usr / lib / python / ...' para '/ usr / lib / python26 / ...'. Se você tiver sorte, alguém pode já ter empacotado uma variante especificamente para o Python 2.6 no RHEL5 com os caminhos alterados, ou você pode modificar e reconstruir os RPMs existentes, você mesmo.

O problema é que a transição do Python 2.4 para 2.6 introduziu algumas incompatibilidades retrógradas. Portanto, muitos scripts criados com o 2.4 em mente não serão executados corretamente em 2.6 sem algum patch. (Há pessoas que afirmam que o 2.6 IS é compatível com versões anteriores ... é próximo, mas não 100%.)

Lançamentos recentes do Fedora e o RHEL6 beta lançam versões mais avançadas do Python (2.5+), além de atualizações para dezenas (possivelmente centenas) de scripts em Python. Mas a Red Hat decidiu manter sua ramificação EL5 no Python 2.4, provavelmente devido ao risco de quebrar quaisquer scripts somente do Python 2.4 em execução nas máquinas dos clientes. (Esta é uma prática bastante padrão para uma série de distro estável a longo prazo como o RHEL.)

    
por 20.07.2010 / 18:41
0

Simples. Não faça isso. Modifique a linha shebang dos scripts apropriados ou invoque python26 diretamente.

    
por 20.07.2010 / 16:45
-2

Eu sei que isso não vai ser tão útil, mas por que você está precisando atualizar python? - O RHEL5 é voltado para a estabilidade e, portanto, há uma compensação inerente na capacidade de aproveitar os lançamentos mais recentes.

    
por 20.07.2010 / 16:41

Tags