¿Cómo actualizar Python?

Tengo instalada la versión 2.7 desde principios de 2012. No puedo encontrar ningún consenso sobre si debo desinstalar y borrar esta versión por completo antes de instalar la última versión.

¿”Soft” – remover versiones antiguas? ¿Eliminando / limpiando versiones antiguas? Instalación sobre la parte superior?

He visto en alguna parte un proceso especial de instalación / actualización utilizando un método de “segmentación” de las instalaciones de Python, manteniendo diferentes versiones separadas y separadas, pero funcionales. No estoy seguro si esta es la manera estándar, de facto.

También me pregunto si Revo se pone demasiado entusiasta y puede causar problemas al eliminar los remanentes que aún se necesitan, como las variables de entorno / PATH.

(Win7 x64, Python de 32 bits)

ACTUALIZACIÓN : 2018-07-06

¡Esta publicación tiene ahora casi 5 años! Python-2.7 dejará de recibir actualizaciones oficiales de python.org en 2020 . Además, Python-3.7 ha sido lanzado . Consulte Python-Future sobre cómo hacer que su código Python-2 sea compatible con Python-3. Para actualizar conda, la documentación ahora recomienda utilizar conda update --all en cada uno de sus entornos conda para actualizar todos los paquetes y el ejecutable de Python para esa versión. Además, dado que cambiaron su nombre a Anaconda, no sé si las claves de registro de Windows siguen siendo las mismas.

ACTUALIZACIÓN : 2017-03-24

No ha habido actualizaciones de Python (x, y) desde junio de 2015, por lo que creo que es seguro asumir que se ha abandonado.

ACTUALIZACIÓN : 2016-11-11

Como @cxw comenta a continuación , estas respuestas son para las mismas versiones de bits, y por versión de bits me refiero a 64 bits frente a 32 bits. Por ejemplo, estas respuestas se aplicarían a la actualización de Python-2.7.10 de 64 bits a Python-2.7.11 de 64 bits, es decir : la misma versión de bit. Si bien es posible instalar dos versiones de Python de bits diferentes juntas, requeriría un poco de pirateo, así que guardaré ese ejercicio para el lector. Si no quiere piratear, le sugiero que si cambia las versiones de bits, elimine primero la otra versión de bits.

ACTUALIZACIONES : 2016-05-16

  • Anaconda y MiniConda se pueden usar con una instalación existente de Python al deshabilitar las opciones para alterar el registro y el PATH Windows. Después de la extracción, cree un enlace simbólico para conda en su bin o instale conda desde PyPI. Luego cree otro enlace simbólico llamado conda-activate para activate en la carpeta de la bandeja de la raíz de Anaconda / Miniconda. Ahora Anaconda / Miniconda es como Ruby RVM. Solo use la conda-activate root para habilitar Anaconda / Miniconda.
  • Python portátil ya no se está desarrollando o manteniendo.

TL; DR

  • Usando Anaconda o miniconda , simplemente ejecute la conda update --all para mantener actualizado cada entorno de Conda,
  • La misma versión principal de Python oficial ( por ejemplo, 2.7.5), solo se instala sobre la antigua ( por ejemplo, 2.7.4),
  • versión principal diferente de Python oficial ( por ejemplo, 3.3), instale al lado de antiguo, establezca rutas / asociaciones para que apunten a dominante ( por ejemplo, 2.7), acceso directo a otro ( por ejemplo, en BASH $ ln /c/Python33/python.exe python3 ).

La respuesta depende:

  1. Si OP tiene 2.7.x y desea instalar una versión más nueva de 2.7.x, entonces

    • si usa el instalador MSI del sitio web oficial de Python , solo instale sobre la versión anterior, el instalador emitirá una advertencia de que eliminará y reemplazará la versión anterior; mirando en “progtwigs instalados” en el “panel de control” antes y después confirma que la versión anterior ha sido reemplazada por la nueva versión; las versiones más nuevas de 2.7.x son compatibles con versiones anteriores, por lo que es completamente seguro y, por lo tanto, las versiones múltiples de 2.HO no deberían ser necesarias.
    • Si está comstackndo desde la fuente, entonces probablemente debería construir un directorio nuevo y limpio, y luego señalar su camino hacia la nueva comstackción una vez que pase todas las pruebas y confíe en que se ha creado con éxito, pero es posible que desee mantener la antigua. construir alrededor porque construir desde la fuente puede tener problemas ocasionalmente. Consulta mi guía para crear Python x64 en Windows 7 con SDK 7.0 .
    • Si está instalando desde una distribución como Python (x, y) , consulte su sitio web. Python (x, y) ha sido abandonado. Creo que las actualizaciones se pueden manejar desde Python (x, y) con su administrador de paquetes, pero las actualizaciones también se incluyen en su sitio web . No pude encontrar una referencia específica, así que quizás alguien más pueda hablar de esto. Al igual que en ActiveState y probablemente Enthought, Python (x, y) dice claramente que es incompatible con otras instalaciones de Python:

      Se recomienda desinstalar cualquier otra distribución de Python antes de instalar Python (x, y)

    • Enthought Canopy utiliza un MSI y se instalará en Program Files\Enthought o home\AppData\Local\Enthought\Canopy\App para todos los usuarios o por usuario, respectivamente. Las instalaciones más nuevas se actualizan utilizando la herramienta de actualización incorporada. Consulte su documentación .
    • ActiveState también utiliza un MSI para que las instalaciones más nuevas se puedan instalar sobre las antiguas. Ver sus notas de instalación .

      Otras instalaciones de Python 2.7 En Windows, ActivePython 2.7 no puede coexistir con otras instalaciones de Python 2.7 (por ejemplo, una comstackción de Python 2.7 de python.org). Desinstale cualquier otra instalación de Python 2.7 antes de instalar ActivePython 2.7.

    • Sage recomienda que lo instale en una máquina virtual y proporciona un archivo de imagen de Oracle VirtualBox que se puede usar para este propósito. Las actualizaciones se manejan internamente emitiendo el comando sage -upgrade .
    • Anaconda se puede actualizar usando el comando conda :

       conda update --all 

      Anaconda / Miniconda permite a los usuarios crear entornos para administrar múltiples versiones de Python, incluyendo Python-2.6, 2.7, 3.3, 3.4 y 3.5. Las instalaciones raíz de Anaconda / Miniconda se basan actualmente en Python-2.7 o Python-3.5.

      Anaconda probablemente interrumpirá cualquier otra instalación de Python. La instalación utiliza el instalador MSI. [ ACTUALIZACIÓN : 2016-05-16] Anaconda y Miniconda ahora usan instaladores .exe y brindan opciones para deshabilitar las alteraciones de PATH y el Registro de Windows.

      Por lo tanto, Anaconda / Miniconda se puede instalar sin interrumpir las instalaciones existentes de Python, dependiendo de cómo se instaló y las opciones que se seleccionaron durante la instalación. Si se usa el instalador .exe y las opciones para modificar el PATH y el Registro de Windows no están deshabilitadas, entonces se deshabilitará cualquier instalación previa de Python, pero simplemente desinstalar la instalación de Anaconda / Miniconda debería restaurar la instalación original de Python, excepto quizás el Registro de Windows. Python\PythonCore Claves de Python\PythonCore .

      Anaconda / Miniconda realiza las siguientes ediciones del registro independientemente de las opciones de instalación: HKCU\Software\Python\ContinuumAnalytics\ con las siguientes teclas: Help , InstallPath , Modules y PythonPath : Python oficial también registra estas claves, pero en Python\PythonCore . También la información de desinstalación está registrada para Anaconda \ Miniconda. A menos que seleccione la opción “Registrarse con Windows” durante la instalación, no crea PythonCore , por lo que las integraciones como Python Tools para Visual Studio no verán automáticamente Anaconda / Miniconda. Si la opción para registrar Anaconda / Miniconda está habilitada, entonces creo que las claves del Registro de Windows de Python se modificarán y la desinstalación probablemente no las restaurará.

    • Las actualizaciones de WinPython , creo, pueden manejarse a través del Panel de control de WinPython .
    • PortablePython ya no se está desarrollando . No tenía método de actualización. Es posible que las actualizaciones se puedan descomprimir en un directorio nuevo y luego la App\lib\site-packages y la App\Scripts puedan copiarse a la nueva instalación, pero si esto no funcionó, entonces podría haber sido necesario volver a instalar todos los paquetes. Utilice la pip list para ver qué paquetes se instalaron y sus versiones. Algunos fueron instalados por PortablePython. Use easy_install pip para instalar pip si no fue instalado.
  2. Si OP tiene 2.7.x y desea instalar una versión diferente, por ejemplo , <= 2.6.x o> = 3.xx, entonces la instalación de diferentes versiones una al lado de la otra está bien. Debe elegir qué versión de Python (si corresponde) asociar con los archivos *.py y cuál desea en su ruta, aunque debería poder configurar shells con diferentes rutas si usa BASH . AFAIK 2.7.x es compatible con versiones anteriores con 2.6.x, por lo que no es necesario realizar IMHO en paralelo, sin embargo, Python-3.xx no es compatible con versiones anteriores, por lo que mi recomendación sería poner Python-2.7 en su ruta y tener Python-3 puede ser una versión opcional mediante la creación de un acceso directo a su ejecutable llamado python3 (esta es una configuración común en Linux). La ruta oficial de instalación predeterminada de Python en Windows es

    • C: \ Python33 para 3.3.x (más reciente 2013-07-29)
    • C: \ Python32 para 3.2.x
    • &do.
    • C: \ Python27 para 2.7.x (más reciente 2013-07-29)
    • C: \ Python26 para 2.6.x
    • &do.
  3. Si OP no está actualizando Python, sino simplemente actualizando paquetes, es posible que deseen buscar en virtualenv para mantener separadas las diferentes versiones de paquetes específicos para sus proyectos de desarrollo. Pip es también una gran herramienta para actualizar paquetes. Si los paquetes usan instaladores binarios, generalmente desinstalo el paquete anterior antes de instalar el nuevo.

Espero que esto aclare cualquier confusión.

La mejor solución es instalar las diferentes versiones de Python en varias rutas.

p.ej. C: \ Python27 para 2.7, y C: \ Python33 para 3.3.

Lea esto para obtener más información: cómo ejecutar varias versiones de Python en Windows

  • Los instaladores oficiales de Python .msi están diseñados para reemplazar:

    • cualquier micro lanzamiento anterior (en xyz , z es “micro”) porque están garantizados para ser compatibles con versiones anteriores y binarias
    • una instalación “instantánea” (construida desde la fuente) con cualquier versión micro
  • Un instalador de instantáneas está diseñado para reemplazar cualquier instantánea con una versión micro inferior.

(Ver código responsable para 2.x , para 3.x )

Cualquier otra versión no es necesariamente compatible y, por lo tanto, se instala junto con la existente. Si desea desinstalar la versión anterior, deberá hacerlo manualmente. Y también desinstala cualquier módulo de terceros que tengas:

  • Si instaló algún módulo de los paquetes bdist_wininst (Windows .exe s), desinstálelos antes de desinstalar la versión, o es posible que el desinstalador no funcione correctamente si tiene una lógica personalizada.
  • los módulos instalados con setuptools / pip que residen en Lib\site-packages solo se pueden eliminar posteriormente
  • los paquetes que instaló por usuario, si los hubiera, residen en %APPDATA%/Python/PythonXY/site-packages y también pueden eliminarse

Siempre acabo de instalar la nueva versión en la parte superior y nunca tuve ningún problema. Asegúrate de que tu ruta esté actualizada para apuntar a la nueva versión.