¿Cómo puedo actualizar Python a 2.7.9 en Ubuntu 14.4?


32

Ubuntu 14.4 viene con Python 2.7.6 incorporado, pero me gustaría actualizarlo a 2.7.9 (tiene las características de seguridad que quiero).

¿Es eso posible? Si es así, ¿cómo se puede lograr esto?


2
La versión anterior de python 2.7 siempre será 2.7.6. Verifique el número de versión de distribución y luego el registro de cambios ( packages.ubuntu.com/source/trusty/python2.7 ) para ver si esas actualizaciones de seguridad han sido respaldadas.
Roger Sherman

Respuestas:


16

Puedes usar pyenv:

 git clone https://github.com/pyenv/pyenv.git ~/.pyenv
 git clone https://github.com/pyenv/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv

Luego añade

   #   for PyEnv
  export PYENV_ROOT="$HOME/.pyenv"
  export PATH="$HOME/.pyenv/bin:$PATH"
  export PATH="$HOME/.pyenv/shims:$PATH"
  eval "$(pyenv init -)"

a .bash_profile, entonces puede ver la versión de Python que desea instalar o actualizar:

pyenv install --list

quieres python 2.7.10? puedes probar:

 pyenv virtualenv 2.7.10

Espero que te ayude.


Para Ubuntu, ese bloque funciona mejor en ~ / .bashrc en lugar de ~ / .bash_profile. Entonces ejecute "$ SHELL".
brendan

31

ppa: fkrull / deadsnakes es la última versión de python2.7

sudo add-apt-repository ppa:fkrull/deadsnakes
sudo apt-get update
sudo apt-get upgrade

Actualizará Python a 2.7.10


1
probado en máquinas de desarrollo (todos los escritorios 14.04), muy buena alternativa.
Yonsy Solis

Pero descubrí que no era compatible con mi aplicación.
Como el

44
Tenga en cuenta que confiar en un paquete no oficial y / o un PPA, especialmente para algo tan fundamental como Python en Ubuntu, omite procesos de seguridad importantes y puede generar muchos problemas. Algunos paquetes dependen explícitamente de los paquetes o versiones oficiales. En cambio, es posible que desee utilizar un virtualenv con una versión más reciente de python solo para las aplicaciones para las que lo necesita. Consulte también Actualizar a Python 2.7.9 en Ubuntu 14.04 LTS y cree su propio paquete .deb para su implementación - Renoir Boulanger
nealmcb

Bueno. Tienes razón. Renuncié a mi enfoque hace varios meses.
Como el

3
Esto actualizará todos sus paquetes.
mpen

10

No soy fanático de las respuestas anteriores que sugieren la instalación desde varios PPA. No pretendo faltar al respeto, pero no conozco a las personas que los construyeron y no tengo idea de lo que podría haber allí. En cualquier entorno donde alguien tenga que responder a un profesional de seguridad, esa práctica sería mal vista.

Acabo de descubrir que descargar 2.7.9 de la fuente e instalarlo en paralelo fue un buen comienzo. Esta impresionante publicación de blog cubrió los pasos. (recreado aquí para cumplir con las pautas de desbordamiento de pila)

wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz
tar xfz Python-2.7.9.tgz
cd Python-2.7.9/
./configure --prefix /usr/local/lib/python2.7.9
make
make install

Prueba si la versión funciona

/usr/local/lib/python2.7.9/bin/python -V
Python 2.7.9

Ahora que tengo 2.7.9 instalado, puedo llamarlo directamente o vincularlo desde donde quiera. (o copiarlo en un virtualenv, etc.)

Y tenga en cuenta que llegué aquí desde una situación en la que recibía advertencias de plataforma inseguras y advertencias de SNI Missing. Lo que me llevó hasta aquí . Me imagino que muchas personas están encontrando esta pregunta por el mismo camino. Y si es por eso que estás aquí, este fragmento también te puede ser útil

pip install urllib3[secure]

Esta es en realidad la mejor respuesta, especialmente si ya está usando virtualenv. La razón por la que siento que esto es mejor, es que no depende de aplicaciones o repositorios de terceros que puedan romper algo más.
Andre

3

Aquí hay un nuevo repositorio de terceros actualizado:

sudo add-apt-repository ppa:jonathonf/python-2.7
sudo apt-get update
sudo apt-get install python2.7
python --version

2

Puede ir a python.org y descargar la compilación del archivo .tar.gz e instalarlo. Necesitará las herramientas básicas para compilar el código fuente. No recuerdo si el paquete "build-essential" será suficiente, pero pruébalo.


2

La versión que desea ya está en Ubuntu, en versión Vivid (pre). Si eres valiente, puedes mezclar versiones e instalar la versión de Python de Vivid en Trusty. A continuación se muestra una solución genérica que funciona en algunos paquetes, no puedo garantizarlo con Python. Las posibilidades son ~ 50/50 de que tenga éxito. Sin embargo, si encuentra un repositorio de backports adecuado para 14.04 con la versión de paquete requerida, entonces debería ser una mejor opción.

  1. Tiene una línea '... confiable' en su /etc/apt/sources.list, cópiela dos veces, cambiando 'confiable' a 'utópica' y 'vívida'.

  2. Corre apt-get updatey luego apt-get -t vivid install python2.7. Revise las dependencias instaladas antes de continuar. Anule la actualización cuando sospeche algún daño en su sistema (paquetes importantes eliminados, etc.).

  3. Elimina o pica las dos líneas de /etc/apt/sources.list.

Nunca lo hagas en máquinas de producción. Haga una copia de seguridad de su sistema operativo y prepare medios de arranque para restaurarlo si es necesario. Esperar problemas en las actualizaciones. Has sido advertido.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.