
Coloquei um script test.py
na minha %USERPROFILE%
pasta:
import sys
print("TEST", sys.version_info, sys.executable)
Ao executar cmd
( WIN+ R) e digitar test
+ ENTERo seguinte é retornado:
C:\Users\wittrup>test
('TEST', sys.version_info(major=2, minor=7, micro=10, releaselevel='final', serial=0), 'C:\\Python27\\python.exe')
Eu gostaria que isso fosse executado com python 3.6.
Existem duas versões do python instaladas:
C:\Python27\python.exe
C:\Users\wittrup\AppData\Local\Continuum\Anaconda3
echo %path:;=&echo.%
mostra:
C:\WINDOWS\system32
C:\WINDOWS
C:\WINDOWS\System32\Wbem
C:\WINDOWS\System32\WindowsPowerShell\v1.0\
C:\Program Files (x86)\pythonxy\SciTE-3.5.1-4
C:\Program Files (x86)\pythonxy\console
C:\Users\wittrup\AppData\Local\Microsoft\WindowsApps
C:\Users\wittrup\AppData\Local\Continuum\Anaconda3
C:\Users\wittrup\AppData\Local\Continuum\Anaconda3\Scripts
(e um monte de outras coisas que considerei irrelevantes para este caso)
C:\Users\wittrup>echo %PATHEXT%
.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.PY;.PYW
Registro:
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Python.exe
C:\Users\wittrup\AppData\Local\Continuum\Anaconda3\python.exe
Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\App Paths\python.exe
C:\Users\wittrup\AppData\Local\Continuum\Anaconda3\python.exe
O que me impressiona aqui é que realmente não consigo descobrir como o Windows acaba executando o script com python 2.6 - algum outro lugar para procurar?
C:\Users\wittrup>ver
Microsoft Windows [Version 10.0.17134.407]
Responder1
Capaz de resolver por pergunta-comentário (obrigado!).
; Note the detail about administrator privileges
C:\WINDOWS\system32>ASSOC .py
.py=Python.File
C:\WINDOWS\system32>FTYPE | FINDSTR Python.File
Python.File="C:\Python27\python.exe" "%1" %*
C:\WINDOWS\system32>FTYPE /?
Displays or modifies file types used in file extension associations
FTYPE [fileType[=[openCommandString]]]
fileType Specifies the file type to examine or change
openCommandString Specifies the open command to use when launching files
of this type.
; more ...
C:\WINDOWS\system32>FTYPE Python.File="python.exe" "%1" %*
Python.File="python.exe" "%1" %*
E deixarei que as variáveis de ambiente cuidem do resto.