Instalar versões mais recentes e mais antigas de python no debian?


12

Como posso instalar versões extras do python no Debian (jessie). No Ubuntu, posso usar o PPA "deadsnakes", que me dará a versão python que eu quiser, com o nome da versão no comando (por exemplo, python33para python 3.3). Isso me permite instalá-los todos um ao lado do outro. Eu posso usar o virtualenvs para instalar pacotes python específicos para versões específicas sem mexer nos pacotes do sistema. Eu mantenho algumas bibliotecas python e elas precisam funcionar em muitas versões do python. Se eu tiver o binário python instalado, o tox cuidará do uso de virtualenvs para cada versão do python.

Então, qual é o equivalente do debian do PPA mortal do Ubuntu?

ATUALIZAÇÃO Quero instalar o python: 2.6, 2.7, 3.3, 3.4 e 3.5.


Você pode especificar quais versões do Python você deseja instalar? Eu acho que Jessie tem algumas versões diferentes disponíveis.
Faheem Mitha 07/03/2015

Na minha opinião, você provavelmente está melhor instalando várias versões do Python a partir do código-fonte.
Celada

Respostas:


9

Usando o PPA

Você pode usar o PPA no Debian. Escolha uma versão do Ubuntu ligeiramente anterior à sua versão do Debian, e ela deve ter todas as bibliotecas necessárias. Para chiado, o PPA onírico parece ok (mas falta versões mais recentes do Python). Para Jessie, o fiel PPA deve funcionar.

Para adicionar um PPA no Debian, crie um arquivo /etc/apt/sources.list.d/deadsnakes.listcontendo

deb http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu trusty main 
deb-src http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu trusty main 

Faça o download da chave de assinatura do PPA com

gpg --keyserver keyserver.ubuntu.com --recv-keys DB82666C

adicione a chave ao banco de dados de chaves APT com

gpg --export DB82666C | sudo apt-key add -

Finalmente, execute apt-get updatee instale os pacotes desejados.

Se você não conseguir que o PPA funcione por alguns motivos (talvez você não consiga encontrar uma versão que funcione com as bibliotecas que você possui), faça o download do código-fonte e recompile-o para sua distribuição.

Usando um sistema chroot

O que geralmente faço para testar a compatibilidade com outras versões é executar distribuições mais antigas ou mais recentes em um sistema com chroot . Por exemplo, você pode instalar várias versões do Ubuntu com as versões Python de seu interesse, ou instalar o confiável em um chroot e instalar o PPA nele. Para mais informações, consulte o meu guia schroot .


1
Você deve evitar o uso de PPAs do Ubuntu no Debian, pois isso pode causar problemas ou outros conflitos. (Também é possível usar pyenvambientes virtuais para várias versões do Python)
Thomas Ward

Posso confirmar que instalei com êxito o python 2.6, 2.7, 3.1, 3.2, 3.3, 3.5 e 3.6 nos testes atuais do debian usando esta abordagem. A única advertência que me deparei foi que eu precisava desenterrar uma versão antiga libssl1.0.0que encontrei aqui: packages.debian.org/jessie/libssl1.0.0 . Também usei as versões xenial (16.04) dos pacotes (lts atual), embora eu acredite que o trusty ainda funcione.
Att Righ

1

Eu diria que não existe um Debian equivalente ao PPA das mortas-vivas do Ubuntu

No Debian, o uso de pacotes ou repositórios Ubuntu não é recomendado. Como este post aparece nos motores de busca, proponho aqui uma resposta que é menos perigosa para um sistema Debian.

A instalação manual do Python é possível. Como exemplo, você pode usar as seguintes instruções para instalar a versão 3.5.2

Pré-requisitos

Instale dependências:

sudo apt-get update && sudo apt-get install libssl-dev openssl

Construindo Python

Você pode criar o Python em uma pasta específica usando o --prefixparâmetro from configurecommand:

wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz
tar zxf Python-3.5.2.tgz
cd Python-3.5.2/
./configure --prefix=/usr/local
make
sudo make install

Em vez de /usr/local, pode-se usar outro diretório base. Como um exemplo:

sudo mkdir /opt/python-3.5.2
./configure --prefix=/opt/python-3.5.2

Selecionando a versão do python

O uso da variável de ambiente PATH pode ajudar a escolher a versão python correta a ser usada. Mas também se pode usar links simbólicos:

sudo ln -s /opt/python-3.5.2/bin/python3.5 /usr/local/bin/python3
sudo ln -s /opt/python-3.5.2/bin/pip3.5 /usr/local/bin/pip3

Usar a -fopção permitirá que você substitua os links simbólicos existentes

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.