¿Cómo utilizar el último Python 2.7.x "The Right Way" en Ubuntu 12.04 LTS?

28

Mi proyecto necesita mantenerse actualizado sobre las versiones de Python, pero 12.04LTS está actualmente atascado en 2.7.3, a pesar de que 2.7.5 ya está disponible. ¿Hay alguna manera de mantenerme más actualizado sin compilar manualmente? Estamos obligados a permanecer en la instalación basada en paquetes para Python. ¿Cuál es la forma "correcta" de manejar esto?

¡Gracias!

Será
fuente

Respuestas:

14

EDITAR: * Como @Anthon ha señalado en los comentarios, este PPA no incluye Python 2.7 para Ubuntu 12.04 (Preciso). Vea la respuesta de funky-future a continuación , que no creo que existiera cuando originalmente respondí.

La forma preferida de "Ubuntu" para manejar paquetes que no están incluidos en su universo por defecto es usar un PPA (repositorio de terceros), en lugar de compilar manualmente. De esta manera, mantiene los beneficios de la administración de paquetes, las actualizaciones y la resolución de dependencias.

Sin embargo, los repositorios de terceros NO son oficialmente compatibles, si eso es parte de su requisito.

El PPA DeadSnakes (obténgalo) mantiene versiones de Python no incluidas en la administración de paquetes de sistemas.

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python2.7

Puede leer más sobre este PPA aquí .

Sin embargo, en su caso, esto no incluye Python 2.7, ya que DeadSnakes solo proporciona versiones principales no incluidas y no lanzamientos puntuales. Como Ubuntu ya empaqueta 2.7 para Ubuntu 12.04, DeadSnakes no proporcionará esto.

Puede ser preferible que hagas el caso de que no deberías usar el paquete nativo con Ubuntu en este caso. Vea este extracto de DeadSnakes;

Using third-party modules packaged for Debian or Ubuntu with the Python
interpreters from this repository is a bit of a mixed bag. For Python 2, Python
modules from the official repositories will not work, as a consequence of how
Python packaging works in Debian. For Python 3 on the other hand, all
pure-Python module packages at least should be available; compiled extension
modules will not work however.

In general, you're better off installing Python modules using the common Python
packaging tools rather than the system package manager. For an introduction into
the Python packaging ecosystem and its tools, refer to;
    http://guide.python-distribute.org/

A few of these tools might also be provided in this repository as a convenience.

Si está absolutamente obligado a utilizar la administración de paquetes del sistema operativo y no puede pasar a una versión diferente de Ubuntu con un paquete proporcionado por DeadSnakes, o de forma nativa, solo le quedan dos opciones, como lo veo.

  1. Puede solicitar un backport de Python 2.7.5 a Ubuntu 12.04.
  2. Puede crear su propio PPA con la versión de Python que necesita.

nota al margen : AskUbuntu es un mejor StackExchange para publicar cosas como esta, que SuperUser en general.

krondor
fuente
¡Perfecto gracias! En su experiencia, ¿está bien mantenido DeadSnakes?
Será
2
Sí, parece ser popular y bien mantenido. Tendría poca reserva para usarlo.
krondor
1
Solo tiene 2.7.4 para 10.04 no para 12.04
Anthon
1
@Anthon tienes razón, no me di cuenta de eso. DeadSnakes no reemplazará una versión principal, por lo que dado que Ubuntu ya incluye Python 2.7, Deadsnakes no proporcionará versiones puntuales para esa serie. Por el contrario, proporcionan 3.3 para precisión. Esto no ayudará al OP en este caso.
krondor
El 14.04 tuve que usar ppa:fkrull/deadsnakes-python2.7(tenga en cuenta el sufijo)
Craig Younkins
37

Felix Krull también mantuvo (como no mantenido ahora) un PPA con la última versión de Python 2.7 para Ubuntu Precise, Trusty y Utopic. Se puede utilizar el mismo proceso como se describe Krondor, pero usar en su lugar o adicionalmente este PPA: ppa:fkrull/deadsnakes-python2.7.

sudo add-apt-repository ppa:fkrull/deadsnakes-python2.7
sudo apt-get update
sudo apt-get install python2.7
futuro funky
fuente
Esta debería ser la respuesta aceptada.
cr8ivecodesmith
1
Ahora tiene una advertencia "descontinuada", pero funciona bien para máquinas que aún ejecutan versiones anteriores de Ubuntu. El PPA proporciona versiones 2.7.12-1~precise1, 2.7.12-1~trusty1y 2.7.10-0+utopic1(por 12,04, 14,04 y 14,10).
mivk
55
Solo tenga en cuenta que frull / deadsnakes-python2.7 ppa se descontinúa. Para las últimas versiones de Python 2.7 (como 2.7.13), intente usar jonathonf / python-2.7 ppa.
Sócrates
advertencia - esto causó problemas para mí cuando las distribuciones de mejora (12 -> 14) .. me quedé con una pitón realmente muerto .. Asegúrese de deshacer este PPA antes de la actualización ..
Dermen
bueno, eso es cierto para cualquier actualización de distribución y ppas.
funky-future