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!