O Windows insiste em associar arquivos .py à versão incorreta do Python

7

Eu tenho o Python 2.7 e o Python 3.3 instalado na minha máquina (estou no Windows 8).

Eu gostaria que arquivos .py fossem abertos com o Python 3.3 por padrão. O único caminho do Python na variável de ambiente PATH é o 3.3. Ainda assim, ao abrir arquivos .py, vejo que estão sendo interpretados pelo Python 2.7, mesmo quando eu os abro explicitamente com o exe do Python 3.3 ("Abrir com" e escolhendo o 3.3 exe). Eu também tentei alterar a versão do Python.exe usando "Set Associations" no painel de controle do Windows. Não tenho certeza se isso mudou alguma coisa. Não importa o que eu faça, a saída do programa a seguir é 2.7.3 :

import sys
print(sys.version)

Como faço para forçar o Windows 8 a abrir arquivos .py com o Python 3.3?

    
por snakile 12.06.2013 / 21:49

5 respostas

1

Tente adicionar #!python3 à primeira linha. O Python 3.3 introduziu o Python Launcher for Windows que associa .py a c:\windows\py.exe . Ele lança o maior Python 2 por padrão. Veja link

    
por 15.11.2013 / 21:10
1

Parece que o Windows não está verificando todo o caminho do executável! Tente renomear o python.exe da versão 2 (respectivamente 3) para algum nome temporário. Então associe com este nome. E mude tudo de volta.

FYI você pode verificar a associação de arquivos com:

C:\Users\shadowed>assoc .py
.py=Python.File

C:\Users\shadowed>ftype Python.File
Python.File="C:\Python27\python.exe" "%1" %*
    
por 07.08.2014 / 12:13
1

Alterar o shebang ( #! python3 ) pode ajudá-lo, mas você terá um problema: se o seu script python tiver parâmetros, eles serão cortados quando você executar o comando

somepythonfile.py your_parameters

Você terá o py.exe rodando apenas com "somepythonfile.py" e sem parâmetros, acredite em mim.

O método que funcionou para mim é o seguinte: execute o aplicativo link - este é um gerenciador de associações de arquivos. Corrigir a associação de arquivos python para ser

"C:\Windows\py.exe" "%1" %*

em vez de

"C:\Windows\py.exe" "%1"

Ou, como alternativa, defina

"C:\Python34\pythonw.exe" "%1" %*

explicitamente - para coincidir com a versão desejada e omitir a linha shebang.

    
por 09.03.2015 / 08:20
0

Se você quiser alterar o IDLE usado ao clicar com o botão direito, pode acessar o registro e encontrar a chave:

HKEY_CLASSES_ROOT\Python.File\shell\Edit with IDLE\command

Você deve ver algo como:

"C:\Python27\pythonw.exe" "C:\Python27\Lib\idlelib\idle.pyw" -e "%1"

Mude todo o 27 para 33 se você instalou seus pythons na área padrão. Se não apenas mudar o caminho para onde sua implementação 3.3 está armazenada.

Para alterar o python de linha de comando padrão, você deve fazer o mesmo com o caminho na variável de ambiente PATH .

    
por 13.06.2013 / 00:25
0

Você já tentou desinstalar o Python 2.7 temporariamente? Isso pode corrigir a associação de arquivos. Estou incerto, pois não estou familiarizado com o Windows 8 além do pouco que aprendi quando experimentei o computador de outra pessoa. Eu não tenho certeza se isso funcionaria no Windows 7, mas vale a pena tentar se você me perguntar.

Eu também recomendo usar a tag para a versão específica do Windows que você está usando, em vez da tag "windows" padrão. Nesse caso, posso usar os dois, já que as associações de arquivos não mudam muito entre as versões do Windows. Pelo menos use a tag correta (windows-8), de qualquer forma. Então você receberá mais respostas de pessoas que procuram essa tag.

    
por 18.05.2014 / 18:05