Actualización a python 2.7.5 en Ubuntu 12.04

9

Ubuntu 12.04 viene python v 2.7.3por defecto. Quiero actualizarlo a v 2.7.5. Intenté las instrucciones dadas en esta pregunta ,

sudo apt-get install build-essential
sudo apt-get install libreadline-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev

cd ~/Downloads/
wget http://python.org/ftp/python/2.7.5/Python-2.7.5.tgz

tar -xvf Python-2.7.5.tgz
cd Python-2.7.5

./configure
make
sudo make altinstall

El último comando falla con el error:

...
Compiling /usr/local/lib/python2.7/xmlrpclib.py ...
Compiling /usr/local/lib/python2.7/zipfile.py ...
make: *** [libinstall] Error 1

¿Cómo puedo hacer esta actualización?

Gabriel
fuente
3
¿Estás muy seguro de que necesitas actualizar a 2.7.5? Todas las correcciones de errores se envían a 2.7.3 en Ubuntu. Realmente quieres salvar todos los dolores de cabeza compilando desde la fuente. Proporcione el motivo específico para instalar 2.7.5. En este sitio, las preguntas sobre una instalación rota de Python son asuntos cotidianos y es muy común ver que es causada por la instalación desde el origen. Ver por ejemplo askubuntu.com/q/323248/88802
gertvdijk
1
Estaba usando un paquete de forma incorrecta, pero la pregunta sigue en pie y realmente no entiendo el voto negativo sin dar una explicación.
Gabriel
¿Qué sucede cuando corres en sudo make **install**lugar de sudo make **altinstall**? ¿Recibes el mismo error?
Kevin Bowen
Ahora tengo miedo de probar su solución, ya que he escuchado tantas veces que romperá mi sistema. Sin embargo, marcaré su respuesta como aceptada porque parece realmente completa. Gracias.
Gabriel
2
@Gabriel La solución de maggotbrain es muy buena; te permite instalar la versión que elijas en un pyenv. No se hace daño en Python de su sistema. Lo recordaré para futuras preguntas. :)
gertvdijk

Respuestas:

13

La instalación desde la fuente se puede hacer, por supuesto, pero dudaría en actualizar el paquete python de mis sistemas Ubuntu desde la fuente por varias razones:

  1. Hacerlo podría romper el sistema haciendo una compilación directa desde la fuente (no estoy exactamente seguro de cómo Ubuntu personaliza sus compilaciones de paquetes Python).

  2. Me preocuparía que pueda haber problemas con el uso de módulos de los repositorios en el futuro.

Hay un PPA que parece activo (el tren 2.7.x fue construido por última vez en abril de este año), pero el PPA aún no tiene una versión 2.7.5. Es posible que desee hacer ping al mantenedor y ver cuáles son sus planes para futuras compilaciones y si van a incluir uno para 2.7.5. Si es posible, recomendaría esto sobre la instalación desde la fuente. Al igual que con cualquier software nuevo, recomendaría construir esto primero en un sistema de prueba.

Otra opción es usar un sandbox ( pyenv) para ejecutar cualquier nuevo paquete de software no probado. Una instalación directa en su sistema podría afectar negativamente el funcionamiento de su máquina.

El paquete pyenv le permitirá a uno instalar una versión de Python que no sea del sistema en su caja sin afectar el paquete principal de Python instalado en su máquina (Nuevamente: su sistema depende de la versión actualmente instalada de Python y su actualización podría dañar su sistema). Anteriormente, Pythonbrew se recomendaba para aislar los paquetes de Python del sistema, pero desde entonces el pyenvpaquete lo ha desaprobado y reemplazado .

El pyenvpaquete proporciona la siguiente funcionalidad:

  • Le permite cambiar la versión global de Python por usuario.
  • Proporciona soporte para versiones de Python por proyecto.
  • Le permite anular la versión de Python con una variable de entorno.
  • Busque comandos de múltiples versiones de Python a la vez.

Instalación

  1. Echa un vistazo a pyenv en ~ / .pyenv.

    git clone git://github.com/yyuu/pyenv.git .pyenv
  2. Agregue ~ / .pyenv / bin a su $ PATH para acceder a la utilidad de línea de comandos pyenv.

    echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.bash_profile

    Nota de Zsh: modifique su ~/.zshenvarchivo en lugar de ~/.bash_profile.

  3. Agregue pyenv init a su shell para habilitar calces y autocompletar.

    echo 'eval "$(pyenv init -)"' >> ~/.bash_profile

    Nota de Zsh: modifique su ~/.zshenvarchivo en lugar de ~/.bash_profile.

  4. Reinicie su shell para que los cambios de ruta surtan efecto. Ahora puede comenzar a usar pyenv.

    exec $SHELL
  5. Instale versiones de Python en ~ / .pyenv / versiones. Por ejemplo, para instalar Python 2.7.5, descargue y desempaquete la fuente, luego ejecute:

    pyenv install 2.7.5

    NOTA Si necesita pasar opciones de configuración para compilar desde la fuente, use la variable de entorno CONFIGURE_OPTS.

  6. Reconstruir los binarios de cuña. Debe hacer esto cada vez que instale un nuevo binario de Python (por ejemplo, al instalar una nueva versión de Python o al instalar un paquete que proporciona un binario).

    pyenv rehash
Kevin Bowen
fuente
1
pyenvEs brillante por muchas razones. Me ayuda con mi experimentación inmensamente con problemas mínimos después de la configuración inicial.
Fahad Yousuf
¿Se ejecutará esto desde la homecarpeta de un usuario específico ? ¿Cómo puedo instalar esto para cada usuario? ¿Puedo instalar ./pyenven /usr/local/bino es que es una mala idea?
riesgo biológico