Instalando / Atualizando Python usando o Gerenciador de Pacotes do Windows Chocolatey
Digamos que você tenha o Python 2.7.16:
C:\Windows\system32>python --version
python2 2.7.16
... e você deseja atualizar para a versão 3.xy (agora atual). Há uma maneira simples de instalar uma instalação paralela do Python 3.xy usando uma ferramenta de gerenciamento de pacotes do Windows.
Agora que o Windows moderno tem gerenciamento de pacotes, assim como as distribuições Debian Linux têm apt-get, e RedHat tem dnf: podemos colocá-lo para trabalhar para nós! Chama-se Chocolatey .
O que é Chocolatey?
Chocolatey é uma ferramenta de linha de comando com script e baseada no .NET 4.0 e no gerenciador de pacotes nuget embutido no Visual Studio.
Se você quiser aprender sobre Chocolatey e por que usá-lo, o que alguns aqui lendo podem achar particularmente útil, vá para https://chocolatey.org/docs/why
Instalando Chocolatey
Para obter o Gerenciador de Pacotes Chocolatey, você segue um processo descrito em https://chocolatey.org/docs/installation#installing-chocolatey ,
Vou resumir para você aqui. Existem basicamente duas opções: usando o prompt cmd ou usando o prompt do PowerShell.
Instalação Prompt Chocolatey CMD
Inicie um prompt de comando administrativo . No Windows 10, para fazer isso:
- Windows+R
- Digite cmd
- Pressione ctrl+ shift+Enter
Se você não tiver direitos de administrador no sistema, vá para o site da Chocolatey . Você pode não estar completamente sem sorte e pode realizar uma instalação local limitada, mas não vou cobrir isso aqui.
- Copie a string abaixo em seu prompt de comando e digite 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 será baixado e instalado para você conforme abaixo:
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
Ou Saia o prompt CMD ou digite o seguinte comando para recarregar as variáveis de ambiente:
refreshenv
Instalação PowerShell Chocolatey
Se você preferir o PowerShell em vez do prompt do cmd, pode fazer isso diretamente de lá, mas terá que dizer ao PowerShell para executar com uma política de execução de script adequada para fazê-lo funcionar. No Windows 10, a maneira mais simples que descobri de fazer isso é digitar o seguinte na barra de pesquisa da Cortana ao lado do botão do Windows:
PowerShell.exe
Em seguida, clique com o botão direito na opção 'Melhor correspondência' no menu que aparece e selecione 'Executar como administrador'
Agora que você está no PowerShell, provavelmente executando com privilégios de administrador, execute o seguinte para instalar o Chocolatey:
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
O PowerShell baixará o Chocolatey para você e iniciará a instalação. Leva apenas alguns minutos. Ele se parece exatamente com a instalação do CMD, talvez salve algum texto colorido extravagante.
Ou Exit PowerShell ou digite o seguinte comando para recarregar as variáveis de ambiente:
refreshenv
Atualizando Python
O comando choco é o mesmo, quer você use o PowerShell ou o prompt do cmd. Inicie o seu favorito usando as instruções acima. Usarei o prompt cmd do administrador:
C:\WINDOWS\system32>choco upgrade python -y
Essencialmente, o chocolatey dirá "Ei, o Python não está instalado", pois você está vindo do 2.7.xe trata a versão 2.7 como completamente separada. Ele apenas fornecerá a versão mais atual, 3.xy (no momento da redação deste artigo, 3.7.2, mas isso mudará em alguns 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).
Ou sair para fora da cmd / Powershell pronto e re introduzi-la, ou utilização refreshenv digite 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
Observe que a instalação mais recente do Python agora assumirá quando você digitar Python na linha de comando. Você pode executar qualquer uma das versões usando os seguintes 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:\>
A partir daqui, sugiro que você use o utilitário Python pip para instalar os pacotes de que precisar. Por exemplo, digamos que você queira instalar o Flask. Os comandos abaixo primeiro atualizam o pip e, em seguida, instalam o 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
... fará o truque. Happy Pythoning!