O python2.7 estará disponível para 10.04 no futuro?

27

Como o Ubuntu 10.04 é uma versão LTS, ele suportará o python 2.7 como uma versão padrão do mantenedor de pacotes ou pelo menos terá um pacote python2.7 no futuro?

Como esse será o último grande lançamento do python 2.x e deve permanecer no local por um longo tempo, decidi usá-lo. Eu o compilei da fonte (depois de criar os deps, é claro), mas de vez em quando encontro pequenos problemas.

É seguro definir o meu python compilado 2.7 como o padrão, pois existem alguns aplicativos de distribuição que funcionam no python.

crodjer
fonte

Respostas:

16

Não, não é considerado seguro definir 2.7 como seu interpretador Python padrão no Lucid . E eu não acho que será no futuro.

  • Não há atualizações de versão principais de nenhum software em uma versão.

    Portanto, python2.7 não substituirá o 2.6 como intérprete padrão. Esse tipo de atualização é feita apenas entre versões, em uma - especialmente uma LTS -, existem apenas as chamadas atualizações estáveis, ou seja, correções de bugs e atualizações relacionadas à segurança.

No entanto, é perfeitamente seguro usar python2.7, definindo seu interpretador #!/usr/bin/python2.7e fazendo com que os usuários o instalem usando make altinstallna fonte python, ao lado de python2.6

Stefano Palazzo
fonte
41

Teve o mesmo problema com um VPS que não pode ser atualizado para o Maverick (mesmo as novas imagens LTS nem sempre são disponibilizadas a tempo). A resposta de Marius fez o truque para começar, mas deveria ser ampliada:

Adicione o PPA às suas fontes

Se você estiver na minha situação, o simples conselho de correr add-apt-repositorynão funcionará para você. Então, vamos fazer isso da maneira antiga:

  1. Abra o arquivo /etc/apt/sources.list(você precisa de privilégios de root; se estiver no shell, isso provavelmente significa execução sudo vim /etc/apt/sources.list).

  2. Vá até a parte inferior do arquivo (se estiver usando vim, alterne para o modo de inserção pressionando i) e adicione as seguintes linhas:

    deb http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu lucid main 
    deb-src http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu lucid main 
    
  3. Salve e saia (em vim: tipo :wq) e volte para um shell.

  4. Digite o seguinte (você pode encontrar a chave correta no PPA ; é a parte após a barra nos "detalhes técnicos" - verifique se você encontrou a chave certa):

    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys DB82666C
  5. Agora digite o seguinte para atualizar sua lista de fontes:

    sudo apt-get update

Instale e configure o Python 2.7

  1. Abra um shell no seu servidor e digite o seguinte:

    sudo apt-get install python2.7 python2.7-dev
  2. Para começar a easy_installtrabalhar, obtenha o distributescript bootscrap:

    curl -O http://python-distribute.org/distribute_setup.py
    python2.7 distribute_setup.py
    
  3. Finalmente, você quer pipe virtualenvtrabalha se planeja fazer algo sério:

    easy_install-2.7 pip
    pip-2.7 install virtualenv
    

Configurando um virtualenv

  1. Crie a pasta para o seu novo ambiente e abra-a:

    mkdir my_env && cd my_env
  2. Crie o próprio ambiente virtual (o ponto indica que o diretório atual é o local do ambiente, substitua-o pelo caminho correto se você ignorou a etapa anterior):

    virtualenv --no-site-packages --python=python2.7 .
  3. Ative o ambiente. Você notará que o prompt do shell é alterado para refletir o ambiente ativo:

    source bin/activate
  4. O que você fizer neste shell agora usará os scripts na binpasta do ambiente virtual e nos pacotes Python desse ambiente. Lembre-se de que a opção --no-site-packagessignifica que você está começando com o conjunto mínimo de pacotes (incluindo pip, no entanto), portanto, você precisa instalar todos os pacotes necessários.

  5. Quando terminar, desative o ambiente (este é um comando reconhecido pelo ambiente ativo):

    deactivate

Você também pode instalar pacotes no ambiente virtual passando a -Eopção para pip(por exemplo, pip install some-package -E /path/to/virtual/environmentinstalar some-packageno ambiente virtual no caminho especificado). Lembre-se de que você terá várias versões diferentes pipcorrespondentes às diferentes versões do Python instaladas.

É uma boa ideia usar pip-2.7se você deseja instalar pacotes para o Python 2.7 ao trabalhar fora de um ambiente virtual (a --python=python2.7opção pela qual passamos virtualenvsignifica que o ambiente virtual usará as versões do Python 2.7 das ferramentas que ele fornece, para que você não precise se preocupe com isso).

Alan Plum
fonte
11
No meu caso, eu já tinha instalado o pip para 2.6 e tive easy_install-2.7 -U pipque forçar a instalação da versão 2.7. Mas obrigado, esta é uma grande ajuda!
Gabe Moothart
2
Para a etapa 2 em "Instalar e configurar o Python 2.7", eu precisava fazer wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py -O - | sudo python2.7. E então para obter pip sudo python2.7 -m easy_install pipseguido por sudo python2.7 -m easy_install --upgrade pip. A opção --no-check-certificate foi necessária para solucionar uma reclamação do wget sobre o certificado SSL. (Veja pypi.python.org/pypi/setuptools#unix-wget )
zlovelady
10

Existe um PPA com Python 2.7 criado para o Ubuntu 10.04. Pode ser mais seguro / conveniente do que construir a partir da fonte.

Marius Gedminas
fonte
2

Isso resolveu todos os tipos de problemas que eu estava tendo /programming/7561221/undefined-symbol-pyobject-nextnotimplemented-error-when-loading-psycopg2-modu .

Agora libpython2.7.so.1.0está ligando para o meu python2.7 etc tudo parece estar mais feliz.

A última peça que eu precisava descobrir era a mod_wsgiinstalação. Se você simplesmente emitir:

$ apt-get install libapache2-mod-wsgi

Então isso será compilado para Python2.6 :(

$ ldd /usr/lib/apache2/modules/mod_wsgi.so

libpython2.6.so.1.0 => /usr/lib/libpython2.6.so.1.0 (0x00178000)

Então, eu segui as instruções fornecidas pelo Gork-Zope aqui .

Finalmente tenho um servidor funcionando. Obrigado.

Naoko
fonte
1

acho que não, pois será necessário alterar muitos dos programas e bibliotecas associados à versão 10.04. Na verdade, muitos dos trabalhos no Ubuntu são feitos usando uma versão python específica. Mudá-lo para python mudaria muitos arquivos do sistema.

Para o 10.10, ele está disponível no synaptic / aptitude apenas instalando o python2.7 (você também pode instalar o 3 e o 3.1), mas para o 10.04 não há trabalho feito para fazê-lo no 10.04.

10.10 tem python 2.6 como padrão. Desculpe se a resposta não foi positiva, mas apenas queria dar uma idéia das alterações.

EDIT - Alterado o Python 2.7 para o Python 2.6 como padrão, pois foi verificado novamente nos comentários abaixo. Obrigado.

Luis Alvarado
fonte
Acabei de fazer o check-out da 10.10 na caixa virtual, ele tem o python 2.6.6 por padrão, embora existam 2,7 pacotes disponíveis para o maverick. Eu acho que é o 11.04 que tem como padrão. Geralmente, continuo atualizando e alterando as distros, mas estava pensando em manter a versão 10.04, por seu suporte a longo prazo e minhas personalizações.
Crdjer
sim, 11.04 tem 2,7 por padrão desde alguns dias
Stefano Palazzo