win - python 2.7 & 3.6 - 스크립트가 쉘에서 사용하는 버전 전환

win - python 2.7 & 3.6 - 스크립트가 쉘에서 사용하는 버전 전환

test.py%USERPROFILE%폴더 에 스크립트를 배치했습니다 .

import sys
print("TEST", sys.version_info, sys.executable)

cmd( WIN+ R) 를 실행한 후 test+를 입력하면 ENTER다음이 반환됩니다.

C:\Users\wittrup>test
('TEST', sys.version_info(major=2, minor=7, micro=10, releaselevel='final', serial=0), 'C:\\Python27\\python.exe')

Python 3.6에서 실행하고 싶습니다.

두 가지 Python 버전이 설치되어 있습니다.

  • C:\Python27\python.exe
  • C:\Users\wittrup\AppData\Local\Continuum\Anaconda3

echo %path:;=&echo.%쇼:

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

(그리고 이 사건과 관련이 없다고 생각한 다른 많은 것들)

C:\Users\wittrup>echo %PATHEXT%
.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.PY;.PYW

기재:

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

여기서 저보다 더 어려운 점은 Windows가 어떻게 Python 2.6을 사용하여 스크립트를 실행하게 되는지 알 수 없다는 것입니다. 다른 곳을 살펴봐야 할까요?

C:\Users\wittrup>ver
Microsoft Windows [Version 10.0.17134.407]

답변1

질문-댓글로 해결 가능합니다(감사합니다!).

; 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" %*

나머지는 환경 변수가 처리하도록 하겠습니다.

관련 정보