Como faço para atualizar a instalação do Python no Windows 10?

112

Eu tenho um Python 2.7.11 instalado em uma das minhas estações LAB. Eu gostaria de atualizar o Python para pelo menos 3.5.

Como devo fazer isso? Devo preferir desinstalar completamente o 2.7.11 e não instalar o novo? Existe uma maneira de atualizá-lo? Uma atualização é uma boa ideia?

Moshe S.
fonte
Talvez este post mais antigo possa te ajudar? stackoverflow.com/questions/15102943/how-to-update-python Br.
MikeL
python2 e python3 devem ser tratados como idiomas diferentes, como C # é diferente de C ++
WhatsThePoint

Respostas:

97

Cada versão secundária do Python, ou seja, qualquer versão 3.xe 2.x, será instalada lado a lado com outras versões em seu computador. Apenas as versões de patch irão atualizar as instalações existentes.

Portanto, se você deseja manter o Python 2.7 instalado por perto, deixe-o e instale uma nova versão usando o instalador. Se você quiser se livrar do Python 2.7, pode desinstalá-lo antes ou depois de instalar uma versão mais recente - não há diferença nisso.

As instalações atuais do Python 3 vêm com o py.exeiniciador, que por padrão é instalado no diretório do sistema. Isso o torna disponível a partir do PATH, para que você possa executá-lo automaticamente a partir de qualquer shell apenas usando em pyvez de pythoncomo o comando. Isso evita que você tenha que colocar a instalação atual do Python no PATH. Dessa forma, você pode facilmente ter várias instalações do Python lado a lado sem que elas interfiram umas nas outras. Ao correr, basta usar em py script.pyvez de python script.pyusar o iniciador. Você também pode especificar uma versão usando, por exemplo py -3oupy -3.6 para lançar uma versão específica, caso contrário, o inicializador usará o padrão atual (que normalmente será o 3.x mais recente).

Usando o iniciador, você também pode executar scripts do Python 2 (que muitas vezes têm sintaxe incompatível com o Python 3), se decidir manter a instalação do Python 2.7. Use apenas py -2 script.pypara iniciar um script.


Quanto aos pacotes PyPI, cada instalação do Python vem com sua própria pasta onde os módulos são instalados. Portanto, se você instalar uma nova versão e quiser usar os módulos instalados para uma versão anterior, será necessário instalá-los primeiro para a nova versão. As versões atuais do instalador também permitem a instalação pip; ele está habilitado por padrão, então você já o tem pippara todas as instalações. A menos que você adicione explicitamente uma instalação Python ao PATH, você não pode simplesmente usar pip. Felizmente, você também pode simplesmente usar o py.exeiniciador para este: py -m pipé executado pip. Por exemplo, para instalar o Beautiful Soup for Python 3.6, você pode executar py -3.6 -m pip install beautifulsoup4.

cutucar
fonte
1
Como você recomendaria fazer isso em uma estação que estou usando atualmente para o desenvolvimento de scripts? A propósito, tenho um 3.5.2 (Windows 7 de 64 bits)
Moshe S.
1
Basta instalar a nova versão lado a lado. Não há necessidade de remover a versão antiga. Ter a versão antiga pode até ajudá-lo a migrar os scripts existentes do Python 2 para o Python 3, então você ainda pode executar os originais.
toque em
1
O instalador lhe dará a opção de definir o PATH para você, portanto, pode não ser necessário fazer isso manualmente. E sim, seu IDE precisa ser atualizado.
toque em
1
também py -3.7-64oupy -3.7-32
noobninja
1
Nota: py é o Python Launcher para Windows . Ou veja PEP 397 que o define. Não é instalado para Linux / Mac.
LightCC
39

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!

ggariepy
fonte
A versão resumida da resposta é instalar Chocolatey e, em seguida, refreshenv no prompt de comando, em seguida, execute choco install python. Ele instalará a versão mais recente de python. Faça refreshenv novamente no cmd e você deve estar executando o python mais recente do seu cmd.
Sebastian
Obtendo este erro no CMD e na exceção POWERSHELL chamando "DownloadString" com argumento (s) "1": "A conexão subjacente foi fechada: Ocorreu um erro inesperado em um envio." Na linha: 1 char: 104 + Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient) .DownloadString <<<< (' chocolatey.org/install.ps1' )) + CategoryInfo: NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId: DotNetMethodException
confiável
Eu tenho windows 7 any help como atualizar para python 3 de python2 parece que chocoaltely não funciona.
confiável
38

Se você estiver atualizando qualquer versão do Python 3.xy para 3.xz (patch), vá para a página de downloads do Python, obtenha a versão mais recente e inicie a instalação. Como você já tem o Python instalado em sua máquina, o instalador solicitará "Atualizar agora". Clique nesse botão e ele substituirá a versão existente por uma nova. Você também terá que reiniciar o computador após a instalação.

insira a descrição da imagem aqui

Se você estiver atualizando de 3.x para 3.y (menor), será solicitado "Instalar agora". Nesse caso, você não está atualizando, mas instalando uma nova versão do Python. Você pode ter mais de uma versão instalada em sua máquina. Eles estarão localizados em diretórios diferentes. Quando você tiver mais de uma versão do Python em sua máquina, precisará usar o py lanucher para iniciar uma versão específica do Python.

Por exemplo:

py -3,7

ou

py -3,8

Certifique-se de ter o iniciador py instalado em sua máquina. Ele será instalado automaticamente se você estiver usando as configurações padrão do instalador do Windows. Você sempre pode verificar se clicar no link "Personalizar instalação" na janela de instalação.

Se você tiver várias versões do Python instaladas em sua máquina e tiver um projeto que usa a versão anterior do Python usando um ambiente virtual, por exemplo (venv), você pode atualizar o Python apenas nesse venv usando:

python -m venv - atualizar "o caminho do seu ambiente virtual"

Por exemplo, tenho Python 3.7 em meu ambiente virtual ./venv e gostaria de atualizar o venv para Python 3.8, faria o seguinte

python -m venv --upgrade ./venv

Vlad Bezden
fonte
1
@ MosheS. você pode obter uma lista de pacotes desatualizados usando o seguinte comando: pip list - desatualizado e, em seguida, atualizar cada pacote por python -m pip install --upgrade <seu pacote>
Vlad Bezden
5
Mudando de 3.7.2 para 3.7.4 (64 bits) no Windows 10 Não vejo isso, vejo "Instalar agora" onde você vê "Atualizar agora"
dumbledad
3
Acabei de mudar de 3.7.3 para 3.7.5 e recebi a mensagem "Atualizar agora". Se eu tentasse atualizar do 3.7.3 para o 3.8, obteria "Instalar agora".
Tiago Martins Peres李大仁
1
@Suncatcher você está certo, é o que eu descrevi na seção "Se você gostaria de atualizar da 3.x para a 3.y então ...". Por favor, leia o acima.
Vlad Bezden
1
@Suncatcher, obrigado pelo feedback. Eu atualizei a descrição.
Vlad Bezden
4

Python 2.x e Python 3.x são diferentes. Se quiser baixar uma versão mais recente do Python 2, basta baixar e instalar a versão mais recente.

Se você deseja instalar o Python 3, pode instalar o Python 3 separadamente e alterar o caminho do Python 2.x para Python 3.x em Painel de controle> Todos os itens do painel de controle> Sistema> Configurações avançadas do sistema> Variáveis ​​de ambiente.

Julian Chan
fonte
Prefiro remover completamente o Python 2.7.11, pois não pretendo suportá-lo. Portanto, devo removê-lo completamente. Certo ? Os "Programas e Recursos" não mostravam Python, então não sei como removê-lo. Devo usar pip e como? É uma boa ideia apenas excluir a pasta Python? E sobre todos os pacotes antigos que foram instalados com ele (se houver), como posso desinstalá-los também?
Moshe S.
@MosheS. Eu não acho que realmente ocupe muito espaço, mas se você quiser limpar, por favor. Eles devem estar todos na mesma pasta, você provavelmente pode desinstalar do painel de controle Programas e Recursos. Meu Python 2.7 e 3.4 estão lá. A desinstalação de lá irá remover todos os pacotes. Se você realmente não consegue encontrar, você pode tentar apenas deletar a pasta inteira. Quando você baixar o Python 3 e se ele não funcionar, vá editar o caminho como respondi acima, esse provavelmente seria o problema principal, se houver.
Julian Chan
3

Em 2019, você pode instalar usando chocolate . Abra seu cmd ou powershell, digite "choco install python".

roscoe_x
fonte
-1

A maneira mais fácil de instalar a versão mais recente do Python (se você desinstalou outras versões) é digitar Python no PowerShell.

Isso abrirá a Microsoft Store e você clicar no Getbotão.

Mike Poole
fonte