¿Cómo actualizo la instalación de Python en Windows 10?

112

Tengo un Python 2.7.11 instalado en una de mis estaciones LAB. Me gustaría actualizar Python a al menos 3.5.

¿Cómo debo hacer eso? ¿Debería preferir desinstalar completamente 2.7.11 y luego instalar el nuevo? ¿Hay alguna forma de actualizarlo? ¿Es una buena idea actualizar?

Moshe S.
fuente
¿Quizás esta publicación anterior pueda ayudarte? stackoverflow.com/questions/15102943/how-to-update-python Br.
MikeL
python2 y python3 deben tratarse como idiomas diferentes, como C # es diferente a C ++
WhatsThePoint

Respuestas:

97

Cada versión menor de Python, es decir, cualquier versión 3.xy 2.x, se instalará en paralelo con otras versiones en su computadora. Solo las versiones de parche actualizarán las instalaciones existentes.

Entonces, si desea mantener su Python 2.7 instalado, déjelo e instale una nueva versión usando el instalador. Si desea deshacerse de Python 2.7, puede desinstalarlo antes o después de instalar una versión más nueva; no hay diferencia en esto.

Las instalaciones actuales de Python 3 vienen con el py.exelanzador, que de forma predeterminada se instala en el directorio del sistema. Esto lo hace disponible desde PATH, por lo que puede ejecutarlo automáticamente desde cualquier shell con solo usarlo en pylugar de pythoncomo comando. Esto le evita tener que poner la instalación actual de Python en PATH usted mismo. De esa manera, puede tener fácilmente varias instalaciones de Python una al lado de la otra sin que interfieran entre sí. Cuando se ejecuta, solo use en py script.pylugar de python script.pyusar el lanzador. También puede especificar una versión usando, por ejemplo, py -3o py -3.6para lanzar una versión específica, de lo contrario, el lanzador usará el valor predeterminado actual (que generalmente será el último 3.x).

Con el iniciador, también puede ejecutar scripts de Python 2 (que a menudo son incompatibles con la sintaxis de Python 3), si decide mantener su instalación de Python 2.7. Solo use py -2 script.pypara iniciar un script.


En cuanto a los paquetes de PyPI, cada instalación de Python viene con su propia carpeta donde se instalan los módulos. Entonces, si instala una nueva versión y desea utilizar los módulos que instaló para una versión anterior, primero deberá instalarlos para la nueva versión. Las versiones actuales del instalador también le ofrecen la posibilidad de instalarlo pip; está habilitado de forma predeterminada, por lo que ya lo tiene pippara cada instalación. A menos que agregue explícitamente una instalación de Python a la RUTA, no puede simplemente usar pip. Afortunadamente, también puede usar el py.exelanzador para esto: se py -m pipejecuta pip. Entonces, por ejemplo, para instalar Beautiful Soup para Python 3.6, puede ejecutar py -3.6 -m pip install beautifulsoup4.

dar un toque
fuente
1
¿Cómo recomendaría hacer eso en una estación que estoy usando actualmente para el desarrollo de scripts? Por cierto, tengo un 3.5.2 (Windows 7 de 64 bits)
Moshe S.
1
Simplemente instale la nueva versión en paralelo. No es necesario eliminar la versión anterior. Tener la versión anterior podría incluso ayudarlo a migrar los scripts existentes de Python 2 a Python 3, por lo que aún puede ejecutar los originales.
empuje el
1
El instalador le dará una opción para configurar la RUTA por usted, por lo que es posible que no necesite hacerlo manualmente. Y sí, su IDE debe actualizarse.
empuje el
1
también py -3.7-64opy -3.7-32
noobninja
1
Nota: py es el Lanzador de Python para Windows . O vea PEP 397 que lo define. No se instala para Linux / Mac.
LightCC
39

Instalación / actualización de Python con el Administrador de paquetes de Windows Chocolatey

Digamos que tiene Python 2.7.16:

    C:\Windows\system32>python --version
    python2 2.7.16

... y desea actualizar a la versión 3.xy (ahora actual). Existe una forma sencilla de instalar una instalación paralela de Python 3.xy utilizando una herramienta de administración de paquetes de Windows.

Ahora que Windows moderno tiene administración de paquetes, al igual que las distribuciones de Debian Linux tienen apt-get y RedHat tiene dnf: ¡podemos ponerlo a trabajar para nosotros! Se llama Chocolatey .

¿Qué es Chocolatey?

Chocolatey es una herramienta de línea de comandos programable que se basa en .NET 4.0 y el administrador de paquetes nuget integrado en Visual Studio.

Si desea obtener más información sobre Chocolatey y por qué usarlo, algo que algunos de los que están leyendo esto pueden encontrar particularmente útil, visite https://chocolatey.org/docs/why

Instalación de Chocolatey

Para obtener el Administrador de paquetes de Chocolatey, siga un proceso que se describe en https://chocolatey.org/docs/installation#installing-chocolatey ,

Te lo resumiré aquí. Básicamente, hay dos opciones: usar el indicador de cmd o usar el indicador de PowerShell.

Instalación rápida de CMD Chocolatey

Inicie un símbolo del sistema administrativo . En Windows 10, para hacer esto:

  • Windows+R
  • Escriba cmd
  • Presione ctrl+ shift+Enter

Si no tiene derechos de administrador en el sistema, vaya al sitio web de Chocolatey . Es posible que no tenga suerte y pueda realizar una instalación local limitada, pero no lo cubriré aquí.

  • Copie la cadena a continuación en su símbolo del sistema y escriba Enter:
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"

Chocolatey se descargará e instalará de la siguiente manera:

Getting latest version of the Chocolatey package for download.
Getting Chocolatey from https://chocolatey.org/api/v2/package/chocolatey/0.10.11.
Downloading 7-Zip commandline tool prior to extraction.
Extracting C:\Users\blahblahblah\AppData\Local\Temp\chocolatey\chocInstall\chocolatey.zip to C:\Users\blahblahblah\AppData\Local\Temp\chocolatey\chocInstall...
Installing chocolatey on this machine
Creating ChocolateyInstall as an environment variable (targeting 'Machine')
  Setting ChocolateyInstall to 'C:\ProgramData\chocolatey'
WARNING: It's very likely you will need to close and reopen your shell
  before you can use choco.
Restricting write permissions to Administrators
We are setting up the Chocolatey package repository.
The packages themselves go to 'C:\ProgramData\chocolatey\lib'
  (i.e. C:\ProgramData\chocolatey\lib\yourPackageName).
A shim file for the command line goes to 'C:\ProgramData\chocolatey\bin'
  and points to an executable in 'C:\ProgramData\chocolatey\lib\yourPackageName'.

Creating Chocolatey folders if they do not already exist.

WARNING: You can safely ignore errors related to missing log files when
  upgrading from a version of Chocolatey less than 0.9.9.
  'Batch file could not be found' is also safe to ignore.
  'The system cannot find the file specified' - also safe.
chocolatey.nupkg file not installed in lib.
 Attempting to locate it from bootstrapper.
PATH environment variable does not have C:\ProgramData\chocolatey\bin in it. Adding...
WARNING: Not setting tab completion: Profile file does not exist at 'C:\Users\blahblahblah\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1'.
Chocolatey (choco.exe) is now ready.
You can call choco from anywhere, command line or powershell by typing choco.
Run choco /? for a list of functions.
You may need to shut down and restart powershell and/or consoles
 first prior to using choco.
Ensuring chocolatey commands are on the path
Ensuring chocolatey.nupkg is in the lib folder

Ya sea la salida el símbolo del CMD o escriba el siguiente comando para volver a cargar las variables de entorno:

refreshenv

Instalación de PowerShell Chocolatey

Si prefiere PowerShell al indicador de cmd, puede hacerlo directamente desde allí, sin embargo, tendrá que decirle a PowerShell que se ejecute con una política de ejecución de scripts adecuada para que funcione. En Windows 10, la forma más sencilla que he encontrado para hacer esto es escribir lo siguiente en la barra de búsqueda de Cortana junto al botón de Windows:

PowerShell.exe

A continuación, haga clic derecho en la opción 'Mejor coincidencia' en el menú que aparece y seleccione 'Ejecutar como administrador'

Ahora que está en PowerShell, con suerte ejecutándose con privilegios de administrador, ejecute lo siguiente para instalar Chocolatey:

Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

PowerShell descargará Chocolatey por usted e iniciará la instalación. Solo toma unos momentos. Se ve exactamente como la instalación de CMD, salvo quizás algún texto de color elegante.

De cualquier salida PowerShell o escriba el siguiente comando para volver a cargar las variables de entorno:

refreshenv

Actualización de Python

El comando choco es el mismo si usa PowerShell o el indicador de cmd. Ejecute su favorito siguiendo las instrucciones anteriores. Usaré el indicador de cmd del administrador:

C:\WINDOWS\system32>choco upgrade python -y

Básicamente, chocolatey te dirá "Oye, Python no está instalado" ya que vienes de 2.7.xy trata la versión 2.7 como completamente separada. Está sólo se va a dar la versión más actual, 3.xy (a partir de este escrito, 3.7.2, pero eso va a cambiar en unos pocos meses):

Chocolatey v0.10.11
Upgrading the following packages:
python
By upgrading you accept licenses for the packages.
python is not installed. Installing...

python3 v3.x.y [Approved]
python3 package files upgrade completed. Performing other installation steps.
Installing 64-bit python3...
python3 has been installed.
Installed to: 'C:\Python37' 
  python3 can be automatically uninstalled.
Environment Vars (like PATH) have changed. Close/reopen your shell to
 see the changes (or in powershell/cmd.exe just type `refreshenv`).
 The upgrade of python3 was successful.
  Software installed as 'exe', install location is likely default.

python v3.x.y [Approved]
python package files upgrade completed. Performing other installation steps.
 The upgrade of python was successful.
  Software install location not explicitly set, could be in package or
  default install location if installer.

Chocolatey upgraded 2/2 packages.
 See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).

O bien salir fuera del cmd / Powershell pronta y volver a entrar en ella, o el uso refreshenv continuación, escriba py --version

C:\Windows\System32>refreshenv
Refreshing environment variables from registry for cmd.exe. Please wait...Finished..

C:\Windows\system32>py --version
Python 3.7.2

Tenga en cuenta que la instalación de Python más reciente ahora se hará cargo cuando escriba Python en la línea de comandos. Puede ejecutar cualquiera de las versiones mediante los siguientes comandos:

py -2
Python 2.7.16 (v2.7.16:413a49145e, Mar  4 2019, 01:37:19) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()

C:\>py -3
Python 3.7.2 (tags/v3.7.2:9a3ffc0492, Dec 23 2018, 23:09:28) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>exit()
C:\>

Desde aquí le sugiero que use la utilidad Python pip para instalar los paquetes que necesite. Por ejemplo, digamos que desea instalar Flask. Los siguientes comandos primero actualizan pip, luego instalan Flask

C:\>py -3 -m pip install --upgrade pip
Collecting pip
  Downloading https://files.pythonhosted.org/packages/d8/f3/413bab4ff08e1fc4828dfc59996d721917df8e8583ea85385d51125dceff/pip-19.0.3-py2.py3-none-any.whl (1.4MB)
    100% |████████████████████████████████| 1.4MB 1.6MB/s
Installing collected packages: pip
  Found existing installation: pip 18.1
    Uninstalling pip-18.1:
      Successfully uninstalled pip-18.1
Successfully installed pip-19.0.3

c:\>py -3 -m pip install Flask

... hará el truco. ¡Feliz Pythoning!

ggariepy
fuente
La versión corta de la respuesta es instalar Chocolatey y luego actualizar desde su símbolo del sistema, luego realizar choco install python instalará la última versión de python. Actualice nuevamente en el cmd y debería ejecutar la última versión de Python desde su cmd.
Sebastian
Obteniendo este error en CMD y POWERSHELL Excepción que llama a "DownloadString" con argumento (s) "1": "La conexión subyacente se cerró: se produjo un error inesperado en un envío". En la línea: 1 carácter: 104 + Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient) .DownloadString <<<< (' chocolatey.org/install.ps1' )) + CategoryInfo: NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId: DotNetMethodException
trustory
Tengo Windows 7, cualquier ayuda sobre cómo actualizar a Python 3 desde Python2 parece que no funciona.
fideicomiso
38

Si está actualizando cualquier versión de Python 3.xy a 3.xz (parche), simplemente vaya a la página de descargas de Python, obtenga la última versión e inicie la instalación. Como ya tiene Python instalado en su máquina, el instalador le pedirá "Actualizar ahora". Haga clic en ese botón y reemplazará la versión existente por una nueva. También tendrá que reiniciar una computadora después de la instalación.

ingrese la descripción de la imagen aquí

Si está actualizando de 3.xa 3.y (menor), se le pedirá "Instalar ahora". En este caso, no está actualizando, pero está instalando una nueva versión de Python. Puede tener más de una versión instalada en su máquina. Estarán ubicados en diferentes directorios. Cuando tenga más de una versión de Python en su máquina, necesitará usar py lanucher para iniciar una versión específica de Python.

Por ejemplo:

py -3,7

o

py -3,8

Asegúrese de tener el lanzador py instalado en su máquina. Se instalará automáticamente si está utilizando la configuración predeterminada del instalador de Windows. Siempre puede comprobarlo si hace clic en el enlace "Personalizar instalación" en la ventana de instalación.

Si tiene varias versiones de Python instaladas en su máquina y tiene un proyecto que usa la versión anterior de Python usando un entorno virtual, por ejemplo (venv), puede actualizar Python solo en ese venv usando:

python -m venv - actualiza "la ruta de tu entorno virtual"

Por ejemplo, tengo Python 3.7 en mi entorno virtual ./venv y me gustaría actualizar venv a Python 3.8, haría lo siguiente

python -m venv --actualizar ./venv

Vlad Bezden
fuente
1
@ MosheS. Puede obtener una lista de paquetes desactualizados usando el siguiente comando: pip list --outdated y luego actualice cada paquete por python -m pip install --upgrade <su paquete>
Vlad Bezden
5
Pasando de 3.7.2 a 3.7.4 (64 bits) en Windows 10 No veo esto, veo "Instalar ahora" donde ves "Actualizar ahora"
dumbledad
3
Acabo de pasar de 3.7.3 a 3.7.5 y recibí el mensaje "Actualizar ahora". Si intentara actualizar de 3.7.3 a 3.8, obtendría "Instalar ahora".
Tiago Martins Peres 李大仁
1
@Suncatcher tiene razón, eso es lo que describí en la sección "Si desea actualizar de 3.xa 3.y entonces ...". Por favor lea lo anterior.
Vlad Bezden
1
@Suncatcher, gracias por sus comentarios. Actualicé la descripción.
Vlad Bezden
4

Python 2.xy Python 3.x son diferentes. Si desea descargar una versión más reciente de Python 2, simplemente puede descargar e instalar la versión más nueva.

Si desea instalar Python 3, puede instalar Python 3 por separado y luego cambiar la ruta de Python 2.xa Python 3.x en Panel de control> Todos los elementos del panel de control> Sistema> Configuración avanzada del sistema> Variables de entorno.

Julian Chan
fuente
Prefiero eliminar completamente Python 2.7.11 ya que no planeo admitirlo. Así que debería eliminarlo por completo. Derecho ? Los "Programas y características" no mostraban Python, así que no sé cómo eliminarlo. ¿Debería usar pip y cómo? ¿Es una buena idea simplemente Eliminar la carpeta de Python? ¿Qué pasa con todos los paquetes antiguos que se instalaron con él (si los hubiera), cómo puedo desinstalarlos también?
Moshe S.
@MosheS. No creo que realmente tome tanto espacio, pero si quieres limpiar, entonces por todos los medios. Todos deberían estar en la misma carpeta, probablemente pueda desinstalarlos desde el panel de control Programa y características. Tanto mi Python 2.7 como 3.4 están ahí. La desinstalación desde allí eliminará todos los paquetes. Si realmente no puede encontrarlo, puede intentar eliminar toda la carpeta. Cuando descargue Python 3 y si no funciona, edite la ruta como respondí anteriormente, ese probablemente sea el problema principal, si lo hay.
Julian Chan
3

En 2019, puede instalar usando chocolatey . Abra su cmd o powershell, escriba "choco install python".

roscoe_x
fuente
-1

La forma más fácil de instalar la última versión de Python (si ha desinstalado otras versiones) es escribir Pythonen PowerShell.

Esto abrirá Microsoft Store y hará clic en el Getbotón.

Mike Poole
fuente