본문 바로가기
목차
Python

py 와 python 의 차이: Python Launcher, PIM, and Python

by ds31x 2026. 3. 16.
728x90
반응형

Windows에서 pythonpy의 차이

Windows에서 Python을 실행할 때 실행 명령어로 다음의 두가지가 사용됨:

  • python
  • py

겉보기에는 비슷하지만, 이들 동작은 내부적으로 차이가 있고,
가상환경이나, uv, conda 등의 다른 툴과 같이 사용할 경우
이들 간의 차이를 이해하고 있어야 단순 암기로 명령어를 쓰지 않게 됨.

 

이 글은 Windows 에서 사용되는 pypython 의 차이를 설명한다.

 

주의할 점은
macOS나 Linux에서는 보통 py가 기본 명령으로 제공되지 않으며,
일반적으로 python, python3 등을 직접 사용함.

 

현재 Python 공식 문서도 Using Python on Windows에서 이를 Windows 전용 동작으로 다루고 있음. (1)

 

결론부터 말하자면, 
Python 3.14+ 에서 py는 Python Install Manager의 명령어로 다양한 마이너버전의 python을 설치/관리/실행 함.python 은 현재 Windows시스템에서 기본으로 설정된 Python 인터프리터를 수행하는 것임.

1. python 과 py 의 차이

현재 Windows에서 Python 3.14 이후를 기준으로 설명하면 다음과 같음:

  • python기본으로 선택된 Python 인터프리터를 실행하는 명령
  • pyPython 버전의 조회, 설치, 선택, 실행까지 담당하는 관리 진입점 으로 이해할 것: Python Install Manager (PIM)

현재 Python 공식 문서에 따르면,

  • Python Install Manager (PIM)를 통해 전역 python 명령을 제공하며,
  • py list로 현재 선택 상태를 확인할 수 있다고 설명함. (1)

즉, 아주 짧게 말하면 다음과 같음.

  • python : 현재 기본 Python 실행 명령
  • py : Windows용 Python 실행 및 버전 관리 명령 (PIM 으로 설치)

2. Python 3.14 이전과 이후의 차이점.

2-1. Python 3.13까지

Python 3.13 까지는 py 명령어를 공식적으로 Python Launcher for Windows라고 불렀음.

 

이 launcher는

  • Python 3.3부터 Windows 설치본에 포함되었고,
  • 여러 Python 버전이 설치되어 있을 때 적절한 버전을 골라 실행하는 역할을 담당했음.
  • 공식 문서에서도 py launcher가 version independent 하게 Python을 실행할 수 있다고 설명함. (2)

즉, 이 당시에는 다음으로 설명 가능:

  • python : PATH에 연결된 Python 실행
  • py : 여러 버전 중 알맞은 버전을 선택해 실행하는 Python Launcher for Windows 를 통한 실행.

2025.03.06 - [Python] - [Py] Python Launcher for Windows - py

 

[Py] Python Launcher for Windows - py

소개Python Launcher for Windows py는Windows 플랫폼에서Python 스크립트를 실행하거나특정 Python 버전을 호출할 때 사용하는 명령줄 도구.py --list 를 통해 사용가능한 여러 버전의 python을 확인 가능함.py -3.9

ds31x.tistory.com


2-2. Python 3.14부터

Python 3.14 문서에서는
Python Install Manager가 Windows의 기본 설명 중심으로 등장함.

 

그리고 py명령어가 Launcher 수준이 아닌 다양한 버전의 Python을 설치/관리/실행 하는 형태로 재설계됨.

 

현재 공식문서에서도 Python launcher for Windows는 별도의 deprecated 항목으로 분리되어 있음.

 

즉, 지금은 예전 launcher 개념만으로 py를 설명하면 적절치 않음 (3)

 

현재 문서 기준으로 py는 다음 역할까지 담당함.

  • 설치된 Python 목록 확인
  • 특정 버전 설치
  • 특정 버전 선택 실행
  • 제거 및 업데이트
  • 일부 경우 자동 설치

예를 들어 현재 문서에는 py list, py install, py uninstall 같은 추가된 명령이 명시되어 있음. (1)

2026.03.16 - [Python] - Python Install Manager(PIM) 간단 사용법

 

Python Install Manager(PIM) 간단 사용법

1. 개요 및 시스템 호환성Windows 전용: :PIM은 윈도우 환경의 파이썬 설치 관리를 위한 도구임.macOS나 Linux는 uv 혹은 pyenv 사용이 권장됨 (uv를 보다 추천함).개인적으론 conda를 선호.표준 방식 전환: :

ds31x.tistory.com


3. Python 3.14를 PIM으로 설치시 python은 무엇인가

이는 현재 Windows에서 Python Install Manager를 설치한 경우에 해당하는 설명임.

 

이 경우, 전역 python 명령은 PIM이 현재 기본으로 선택된 버전을 실행하는 명령으로 동작함. (1)

  • 이 기본 버전은 설치/제거 상황에 따라 바뀔 수 있고,
  • 현재 어떤 런타임이 기본인지 확인할 때 py list를 사용할 수 있음.

예를 들어 다음과 같이 이해하면 됨.

python

이 명령은 "지금 이 시스템에서 기본으로 잡힌 Python"을 실행함.

  • python은 개념적으로는 인터프리터 실행 명령이지만,
  • 실제 어떤 버전이 실행되는지는 Windows의 PIM 상태에 영향을 받음. (1)

4. Python 3.14를 PIM으로 설치시 py는 무엇인가

이 경우 py는 단순히 예전 launcher라고 보면 안 됨.

 

Python Install Manager의 중심 명령 이라고 봐야함.

 

예를 들면 다음과 같은 명령이 가능함.

py list
py install 3.14
py uninstall 3.14
  • 공식 문서(1)도 py list로 설치된 런타임을 보고,
  • py install로 새 런타임을 설치하며,
  • py uninstall로 제거할 수 있음 

다시 한번 강조하지만, 현재의 py는 다음을 모두 포함하는 명령이라고 보면 됨.

  • 실행 command
  • 버전 selector
  • 설치 manager frontend

이전과 같이 특정 버전의 python을 실행하는 용도도 여전히 지원함.

 

Python 3.14 이후에서 py는 특정 runtime을 실행하기 위해 -V:<TAG> 옵션을 받음.
이 옵션은 다른 옵션보다 먼저 와야 하며, TAG는 버전 또는 플랫폼이 포함된 식별자임.

 

다음의 예를 참고:

py -V:3.14
py -V:3-arm64

 

또한 과거 launcher와의 호환성을 위해,
공식 Python 배포판의 경우에는 V:를 생략한 짧은 형식도 여전히 지원함:

py -3.14
py -3.7
py -2

 

이는 다음을 의미:

  • py -3.14
    • 공식 CPython 3.14 계열을 실행하는 짧은 형식
  • py -V:3.14
    • 현재 권장되는 일반화된 tag 기반 형식
  • py -V:3-arm64
    • ARM64용 Python 3 계열처럼 platform tag까지 포함한 선택
  • py -V:PythonCore/3
    • PythonCore 배포판의 최신 Python 3 선택

공식 문서에 따르면 짧은 형식인 -3 또는 -3.14core Python releases만 대상으로 선택하고 있음.
이에 반해 긴 형식인 -V:는 다른 공급자의 runtime까지도 선택 가능함(1).

 

가급적, -V:<TAG> 형식을 쓰는게 좋을 듯...


6. 실제 응용

기본 Python 사용

python
  • 현재 기본 인터프리터가 바로 실행됨.

 

설치된 버전 목록을 보고 싶을 때

py list
  • 현재 어떤 Python들이 설치되어있는지 확인 가능함.

 

특정 버전을 정확히 골라 실행하고 싶을 때

py -V:3.14

 

또는 다음과 같이 이전 launcher의 짧은 형식으로도 가능.

py -3.14

 

새로운 minor버전의 python설치하려면 다음을 이용.

py install 3.14

7. 주의할 점: prefix로 격리된 환경 등에서

가상환경(virtual environment) 또는 uv에 의한 다른 프로젝트, conda등을 통한 conda 환경 안에서는

여전히 python  명령어를 이용하는 것이 나음.

 

사실 다른 os에선 py자체가 지원안함.

 

실무에선 프로젝트별로 가상환경을 만들고 활성화해서 쓰는 방식을 권장하기 때문에 python의 동작을 이해하고 있어야 함.

 

즉, Windows 한정해서

  • 시스템 전체의 Python 버전 관리에는 py가 유용하고,
  • 프로젝트 내부 작업에서는 보통 활성화된 가상환경의 python을 쓰는 식으로 이해하면 됨.

8. 요약

  • Python 3.13까지의 Windows
    • py는 공식적으로 Python Launcher for Windows
    • 여러 Python 버전 중 적절한 버전을 골라 실행하는 역할 중심이었음. (2)
  • Python 3.14부터의 Windows
    • py는 Python Install Manager의 중심 명령으로 확장됨
    • 실행뿐 아니라 조회, 설치, 제거, 선택 기능까지 담당함
    • python은 현재 기본으로 선택된 인터프리터 실행 명령으로 이해하면 됨. (1)

따라서 현재 Windows의 Python 3.14+ 기준으로는 다음 한 문장이 가장 적절함.

  • python은 현재 기본 Python을 실행하는 명령이고,
  • py는 Python Install Manager를 통해 버전의 설치, 조회, 선택, 실행까지 담당하는 Windows용 관리 명령임.

References

  1. 4. Using Python on Windows — Python 3.14.3 documentation
  2. What’s NewIn Python 3.3 — Python 3.14.3 documentation
  3. Python Documentation contents — Python 3.14.3 documentation

2026.03.16 - [Python] - Python Install Manager(PIM) 간단 사용법

 

Python Install Manager(PIM) 간단 사용법

1. 개요 및 시스템 호환성Windows 전용: :PIM은 윈도우 환경의 파이썬 설치 관리를 위한 도구임.macOS나 Linux는 uv 혹은 pyenv 사용이 권장됨 (uv를 보다 추천함).개인적으론 conda를 선호.표준 방식 전환: :

ds31x.tistory.com

2025.03.06 - [Python] - [Py] Python Launcher for Windows - py

 

[Py] Python Launcher for Windows - py

소개Python Launcher for Windows py는Windows 플랫폼에서Python 스크립트를 실행하거나특정 Python 버전을 호출할 때 사용하는 명령줄 도구.py --list 를 통해 사용가능한 여러 버전의 python을 확인 가능함.py -3.9

ds31x.tistory.com

2026.03.17 - [Python] - Windows Python install manager 설치하기

 

Windows Python install manager 설치하기

Python 3.14 부터 Python install manger (PIM)가 Windows에서 도입됨(기존의 Python launcher for windows와 같이 py 명령어를 사용)Python 3.16 이후 부터는 Windows에선 PIM이 표준 설치 방식이 되므로 익혀두는게 좋다(개

ds31x.tistory.com

 

728x90

'Python' 카테고리의 다른 글

Windows Python install manager 설치하기  (0) 2026.03.17
Python Install Manager(PIM) 간단 사용법  (0) 2026.03.16
Python 실행(Execution) 방식들  (1) 2026.03.12
Python Data Model (+ Metaclass)  (0) 2026.02.25
Hook 이란?  (0) 2026.02.23