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.

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


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).


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


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.


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.


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
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.