Atualizando o Python 2.X no CentOS ou RHEL

3

Eu odeio interpretar a chata e aborrecida pessoa que não tem ideia do que ele está falando. Mas, infelizmente, sou eu no que diz respeito ao Linux ...

Estou fazendo algumas manipulações de arquivos em python que usam o módulo zipfile. A versão do python atualmente instalada é a 2.4.3, mas o módulo zipfile utiliza instruções 'with', o que eu acho que veio na versão 2.5 (eu também precisarei usar o módulo tarfile; embora eu não tenha testado , Imagino que vou encontrar o mesmo problema).

Meu plano de ação atual é descobrir como atualizar a instalação do python. Mas, sabendo absolutamente nada sobre o Linux e muito pouco sobre python, eu nem sei por onde começar. Eu vejo alguns posts semelhantes, que mencionaram instalá-lo em outro diretório. Eu não o instalei em primeiro lugar. Eu nem sei como instalar coisas no linux ...

Qualquer ajuda seria muito apreciada! Além disso, se houver uma maneira melhor do que tentar atualizar o python, estou totalmente aberto a sugestões. Apenas lembre-se: minha inteligência do Linux é equivalente à de uma criança de quatro anos. Obrigado!

    
por Bryant 24.05.2012 / 16:45

3 respostas

1

A maneira mais fácil de atualizar o Python no Linux é fazer com que outra pessoa faça isso por você; sua distribuição muitas vezes tem muitas pessoas que empacotam atualizações especificamente para essa distribuição. Antes de arregaçar as mangas e entrar, veja se já fizeram o trabalho.

Basicamente, isso significa aprender que tipo de gerenciador de pacotes sua distribuição usa e, em seguida, verificar se a próxima versão está disponível. Fraquezas para esta técnica existem:

  1. Sua versão de distribuição pode ser antiga e as atualizações não estão mais disponíveis.
  2. Sua distribuição pode valorizar a estabilidade em relação à tecnologia de ponta e ainda não decidiu que a próxima versão é estável o suficiente (ou foi adequadamente testada).
  3. Sua distribuição pode não ter empacotado os módulos necessários, portanto você deve instalá-los você mesmo.

Para minha distribuição, rpm é o gerenciador de pacotes, e yum é o front end de linha de comando. Para verificar se existe uma atualização para um pacote com o yum, eu digito

yum check-updates <package name>

e para atualizar algo que eu digito

yum update <package name>

Qualquer que seja seu resultado em relação ao seu módulo Python, você deve aprender um pouco sobre o gerenciador de pacotes e como usá-lo para evitar a pressa de precisar aprendê-lo em um momento crítico.

Se você não encontrar a versão correta empacotada para você, às vezes uma pesquisa no Google gerará uma pessoa que incluiu a versão correta para sua distribuição, mesmo que sua distribuição ainda não tenha sido feita. Em caso afirmativo, e se você confia na outra pessoa para não estar fazendo algo mal-intencionado, normalmente você pode instalar o pacote.

Se não existir uma versão pré-configurada, você está preso e precisa ler as páginas "como instalar" do item em particular e, para Python, ela reflete "o jeito difícil" do Maxime, o que pode soar intimidador, mas depois você faz isso algumas vezes, você percebe que não é tão difícil assim.

Tenha em mente que o software instalado fora do conhecimento do gerenciador de pacotes provavelmente nunca será conhecido pelo gerenciador de pacotes, portanto, o uso futuro do gerenciador de pacotes com relação àquele software provavelmente precisará ser tratado especialmente, para evitar que o gerenciador de pacotes de fazer algo que faça sentido se a sua versão do Python não estiver instalada.

    
por 24.05.2012 / 18:10
1

O CAMINHO FÁCIL:

apenas trabalhe com comandos zip diretamente, em vez de usar o antigo módulo zip:

import subprocess
subprocess.call('unzip <path to your file>')

ou, alternativamente, use subprocess.Popen.

Depois de enviar minha resposta, gostaria de intitular esta parte:

A MANEIRA DURA:

Adivinhando da versão do Python que você está usando um Red Hat 5 ou CentOS 5.

Aqui está como está meu trabalho no Red Hat 5.8:

oz@server ~ $ /usr/bin/python                                            
Python 2.4.3 (#1, Dec 22 2011, 12:12:01) 
[GCC 4.1.2 20080704 (Red Hat 4.1.2-50)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> f = open('/etc/redhat-release')                                             
>>> f.readlines()
['Red Hat Enterprise Linux Server release 5.8 (Tikanga)\n']

A maioria das outras versões do Ubuntu e Debian tem uma versão mais recente do Python.

De qualquer forma, atualizar o Python deve funcionar assim:

  1. Primeiro você precisa saber a senha do administrador (root no mundo Linux).
  2. digite 'su' para mudar para root - ASSISTA AQUI, esta é uma situação perigosa. Ser ROOT é perigoso.
  3. tipo:
yum groupinstall "development tools" -y     
yum install readline-devel openssl-devel gmp-devel ncurses-devel gdbm-devel \
glib-devel expat-devel libGL-devel tk tix gcc-c++ \ 
libX11-devel glibc-devel bzip2 tar tcl-devel tk-devel pkgconfig \
tix-devel bzip2-devel sqlite-devel autoconf db4-devel libffi-devel \
valgrind-devel -y    
mkdir tmp  
cd tmp  
wget http://python.org/ftp/python/2.7.5/Python-2.7.5.tgz  
tar xvfz Python-2.7.5.tgz  
cd Python-2.7.5

ISTO é importante, caso contrário, você apagará seu sistema PYTHON !!! você não quer fazer isso, porque muitos componentes do sistema dependem do Python.

./configure --prefix=/opt/python2.7 --enable-shared

Noe, compile o software em si:

make

Em seguida, instale-o:

make altinstall

Não perca o --prefix = / opt ./configure --prefix = / opt / python2.7

Finalmente, você precisa definir sua variável PATH para incluir o python onde o Python foi instalado.

export PATH=$PATH:/opt/python2.7/bin/

Para tornar isso permanente, edite seu .bashrc e adicione a linha acima!

Boa sorte e bem vindo ao Linux: -)

    
por 24.05.2012 / 17:08
-1

Não sei por que há tanta resistência em apenas construir o Python a partir do código-fonte, porque é realmente muito simples:

$ tar jxf Python-2.7.3.tar.bz2   # unpack the source tarball
$ cd Python-2.7.3                # cd into the source directory
$ ./configure --prefix=$HOME     # configure for your system
$ make                           # build everything
$ make install                   # install (in $HOME/bin, $HOME/share, etc )

Se você está nervoso em fazer a etapa de instalação, primeiro faça make DESTDIR=/tmp/foo install e instale tudo em / tmp / foo. Inspecione a árvore de diretórios e, em seguida, rm -rf /tmp/foo (a menos que você tenha arquivos importantes em /tmp/foo antes de iniciar o procedimento, é claro!)

Se você receber erros, então haverá algum trabalho a fazer, mas é muito provável que a compilação funcione sem erros.

Depois de fazer isso, você poderá executar $HOME/bin/python

    
por 24.05.2012 / 21:45

Tags