검증된 문서입니다
클라우드 서버를 생성하여 이 문서의 명령을 처음부터 끝까지 그대로 실행하고 확인한 문서입니다.
- 운영체제
- Windows 11 Pro 25H2 (build 26200) · x64
- 설치 버전
- pyenv-win 3.1.1, Python 3.14.5 / 3.13.13 (pyenv), Python 3.15.0 / 3.14.8 (Python Install Manager 26.4), pip 26.1.1
- 테스트 서버
- Microsoft Azure · 2 vCPU / 4 GB RAM (Standard_B2als_v2, koreacentral)
- 마지막 확인
- 2026-10-12
윈도우 11에 pyenv-win으로 Python을 설치하고, python 명령을 입력하면 Microsoft Store가 열리는 문제 해결, 버전 전환, pip·가상 환경(venv) 확인, 깨끗하게 삭제하는 방법까지 정리합니다. Python 공식 설치 관리자로 최신 Python 3.15를 설치하는 방법도 함께 다룹니다.
1. 준비물
- Windows 11 PC (x64)
- Windows에 로그인한 사용자 계정 — 이 문서의 과정은 관리자 권한이 필요 없습니다
- 인터넷 연결
이 문서의 모든 과정은 Windows 11 Pro 25H2(빌드 26200, x64) 가상 머신(2 vCPU · 4GB 메모리)에서 확인했습니다. 관리자 그룹에 속한 일반 계정으로 로그인했고, PowerShell 스크립트 실행 정책은 Windows 11 기본값(Restricted)인 상태에서 진행했습니다.
2. 설치 방법 고르기
- pyenv-win으로 설치: Python 여러 버전을 설치해 두고, 컴퓨터 전체 기본 버전과 프로젝트 폴더마다 쓸 버전을 따로 정할 수 있습니다. 리눅스·맥에서 pyenv를 쓰던 분에게 익숙한 방식입니다. 3~9단계에서 다룹니다.
- Python 공식 설치 관리자로 설치: python.org가 만든 Windows용 설치 관리자(
py명령)입니다. 새로 나온 Python 버전을 바로 설치할 수 있고, 여러 버전도 함께 관리합니다. 10단계에서 다룹니다.
이 문서를 확인한 날(2026년 10월 12일) Python 최신 버전은 3.15.0이었습니다. pyenv-win의 버전 목록은 3.14.5까지만 들어 있어 3.15를 설치할 수 없었습니다(7단계). 최신 버전이 필요하면 공식 설치 관리자를 쓰세요. 두 방법을 한 PC에 함께 쓰면 어느 python이 실행되는지 헷갈리게 되므로 하나만 고르세요.
3. 설치 전 상태 확인
시작 메뉴에서 PowerShell을 검색해 엽니다. 관리자 권한으로 열 필요는 없습니다. Python을 설치하지 않은 Windows 11에서 python을 실행하면 아래처럼 Microsoft Store에서 설치하라는 안내가 표시됩니다.
python --versionPython was not found; run without arguments to install from the Microsoft Store, or disable this shortcut from Settings > Apps > Advanced app settings > App execution aliases.Python이 설치되어 있지 않은데도 python 명령이 있는 것은, Windows 11이 Microsoft Store로 연결하는 바로가기(앱 실행 별칭)를 미리 만들어 두기 때문입니다.
Get-Command python, python3, py -ErrorAction SilentlyContinue | Format-Table Name, Source -AutoSizeName Source
---- ------
python.exe C:\Users\devuser\AppData\Local\Microsoft\WindowsApps\python.exe
python3.exe C:\Users\devuser\AppData\Local\Microsoft\WindowsApps\python3.exe4. Microsoft Store 바로가기(앱 실행 별칭) 끄기
이 바로가기가 켜져 있으면 pyenv-win으로 설치한 Python 대신 Store 바로가기가 실행될 수 있습니다. 설정 화면을 엽니다. 아래 명령은 설정 › 앱 › 고급 앱 설정을 바로 엽니다.
Start-Process ms-settings:advanced-apps앱 실행 별칭(영어판: App execution aliases)을 누릅니다.

목록 아래쪽에 App Installer 항목이 두 개 있습니다. 하나는 python.exe, 다른 하나는 python3.exe입니다.

두 항목의 스위치를 눌러 끕니다. 오른쪽에 Off가 표시되면 됩니다.

설정 창을 닫고 PowerShell에서 다시 실행하면, 이제 python 명령을 찾을 수 없다는 오류가 표시됩니다. 바로가기가 꺼진 것입니다.
python --versionpython : The term 'python' is not recognized as the name of a cmdlet, function, script file, or operable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.5. pyenv-win 설치
pyenv-win 공식 설치 스크립트를 내려받아 실행합니다. Invoke-WebRequest는 파일을 내려받는 PowerShell 명령이고, -OutFile은 저장할 파일 이름입니다. 뒤의 &는 내려받은 스크립트를 실행하라는 뜻입니다.
Invoke-WebRequest -UseBasicParsing -Uri "https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1" -OutFile "./install-pyenv-win.ps1"; &"./install-pyenv-win.ps1"& : File C:\Users\devuser\install-pyenv-win.ps1 cannot be loaded because running scripts is disabled on this system.
For more information, see about_Execution_Policies at https:/go.microsoft.com/fwlink/?LinkID=135170.Windows 11의 PowerShell 스크립트 실행 정책 기본값이 Restricted(스크립트 실행 안 함)라서 설치 스크립트가 실행되지 않았습니다. 파일은 내려받아졌습니다. 현재 사용자에게만 RemoteSigned 정책을 적용합니다. RemoteSigned는 이 PC에 있는 스크립트는 실행하고, 인터넷에서 내려받은 스크립트는 서명이 있을 때만 실행하는 정책입니다. -Scope CurrentUser로 적용하면 관리자 권한이 필요 없고 다른 사용자에게는 영향이 없습니다.
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
Get-ExecutionPolicy -List Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser RemoteSigned
LocalMachine Restricted내려받아 둔 설치 스크립트를 다시 실행합니다. 사용자 폴더에 .pyenv 폴더가 만들어지고 설치가 끝납니다.
&"./install-pyenv-win.ps1" Directory: C:\Users\devuser
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 10/12/2026 12:07 AM .pyenv
pyenv-win is successfully installed. You may need to close and reopen your terminal before using it.6. pyenv 설치 확인
안내대로 PowerShell 창을 닫고 새로 엽니다. 설치 전에 열어 둔 창은 바뀐 환경 변수(PATH)를 읽지 못합니다. 새 창에서 버전을 확인합니다.
pyenv --versionpyenv 3.1.1Get-Command pyenv | Format-Table Name, CommandType, Source -AutoSizeName CommandType Source
---- ----------- ------
pyenv.ps1 ExternalScript C:\Users\devuser\.pyenv\pyenv-win\bin\pyenv.ps1pyenv도 PowerShell 스크립트(pyenv.ps1)로 실행됩니다. 5단계에서 실행 정책을 바꾸지 않았다면 여기서도 같은 오류가 납니다.
7. 설치할 수 있는 버전 확인
pyenv install --list는 설치할 수 있는 버전을 모두 보여 줍니다. 목록이 길어서 Select-String으로 3.14와 3.15만 골라 봅니다. ^3\.1[45]\.\d+$는 「3.14.숫자」 또는 「3.15.숫자」로만 된 줄이라는 뜻입니다.
pyenv install --list | Select-String "^3\.1[45]\.\d+$"3.14.0
3.14.1
3.14.2
3.14.3
3.14.4
3.14.5Python 3.14.8과 3.15.0이 이미 나왔지만 목록에는 3.14.5까지만 있습니다. pyenv-win은 버전 목록을 미리 저장해 두고 쓰는데, 이 목록을 갱신하는 pyenv update가 Windows 11에서 아래 오류로 실패합니다. 이 문제는 pyenv-win 저장소에 보고되어 있고, 이 문서를 확인한 날까지 고쳐지지 않았습니다. 그래서 이 문서는 목록에 있는 3.14.5와 3.13.13으로 진행합니다. 3.15가 필요하면 10단계의 공식 설치 관리자를 쓰세요.
pyenv update:: [Info] :: Mirror: https://www.python.org/ftp/python
:: [Info] :: Mirror: https://downloads.python.org/pypy/versions.json
:: [Info] :: Mirror: https://api.github.com/repos/oracle/graalpython/releases
C:\Users\devuser\.pyenv\pyenv-win\libexec\pyenv-update.vbs(172, 13) htmlfile: This command is not supported.8. Python 설치와 기본 버전 지정
Python 3.14.5를 설치합니다. pyenv-win은 python.org의 공식 설치 파일을 내려받아 사용자 폴더 안에 설치합니다. 관리자 권한 확인 창은 표시되지 않습니다.
pyenv install 3.14.5:: [Info] :: Mirror: https://www.python.org/ftp/python
:: [Info] :: Mirror: https://downloads.python.org/pypy/versions.json
:: [Info] :: Mirror: https://api.github.com/repos/oracle/graalpython/releases
:: [Downloading] :: 3.14.5 ...
:: [Downloading] :: From https://www.python.org/ftp/python/3.14.5/python-3.14.5-amd64.exe
:: [Downloading] :: To C:\Users\devuser\.pyenv\pyenv-win\install_cache\python-3.14.5-amd64.exe
:: [Installing] :: 3.14.5 ...
:: [Info] :: completed! 3.14.5설치만으로는 python 명령이 생기지 않습니다. pyenv global로 컴퓨터 전체에서 쓸 기본 버전을 정합니다.
pyenv global 3.14.5python과 pip가 실행되는지 확인합니다. pip는 Python 패키지를 설치하는 도구로, Python과 함께 설치됩니다.
python --versionPython 3.14.5pip --versionpip 26.1.1 from C:\Users\devuser\.pyenv\pyenv-win\versions\3.14.5\Lib\site-packages\pip (python 3.14)설치된 버전 목록에서 *가 붙은 것이 지금 쓰는 버전이고, 괄호 안은 그 버전을 정한 파일입니다.
pyenv versions* 3.14.5 (set by C:\Users\devuser\.pyenv\pyenv-win\version)python과 pip는 pyenv-win의 shims 폴더에 있는 연결 파일로 실행됩니다. 이 파일이 지정된 버전의 Python을 찾아 실행합니다.
Get-Command python, pip | Format-Table Name, CommandType, Source -AutoSizeName CommandType Source
---- ----------- ------
python.bat Application C:\Users\devuser\.pyenv\pyenv-win\shims\python.bat
pip.bat Application C:\Users\devuser\.pyenv\pyenv-win\shims\pip.bat9. 프로젝트 폴더마다 다른 버전 쓰기
Python 3.13을 추가로 설치합니다. 3.13 계열에서 목록에 있는 가장 최신 버전은 3.13.13이었습니다.
pyenv install 3.13.13:: [Info] :: Mirror: https://www.python.org/ftp/python
:: [Info] :: Mirror: https://downloads.python.org/pypy/versions.json
:: [Info] :: Mirror: https://api.github.com/repos/oracle/graalpython/releases
:: [Downloading] :: 3.13.13 ...
:: [Downloading] :: From https://www.python.org/ftp/python/3.13.13/python-3.13.13-amd64.exe
:: [Downloading] :: To C:\Users\devuser\.pyenv\pyenv-win\install_cache\python-3.13.13-amd64.exe
:: [Installing] :: 3.13.13 ...
:: [Info] :: completed! 3.13.13프로젝트 폴더 hello-py를 만들고 들어갑니다. | Out-Null은 폴더 정보 출력을 숨긴다는 뜻입니다.
mkdir hello-py | Out-Null; cd hello-pypyenv local은 지금 폴더에서만 쓸 버전을 정합니다. 이 폴더(와 그 아래 폴더)에서는 3.13.13, 다른 곳에서는 기본 버전 3.14.5가 실행됩니다.
pyenv local 3.13.13
python --versionPython 3.13.13버전은 폴더 안의 .python-version 파일에 저장됩니다. 이 파일을 프로젝트와 함께 공유하면 다른 사람도 같은 버전을 씁니다.
Get-Content .python-version3.13.13pyenv versions* 3.13.13 (set by C:\Users\devuser\hello-py\.python-version)
3.14.5가상 환경(venv) 만들기
프로젝트마다 패키지를 따로 설치하려면 가상 환경을 만듭니다. python -m venv .venv는 지금 폴더에 .venv라는 가상 환경을 만든다는 뜻입니다. 이어서 가상 환경을 켭니다. 켜지면 프롬프트 앞에 (.venv)가 표시됩니다.
python -m venv .venv
.\.venv\Scripts\Activate.ps1가상 환경 안에서 requests 패키지를 설치합니다. python -m pip로 실행하면 지금 가상 환경의 pip가 확실하게 쓰입니다.
python -m pip install requestsCollecting requests
Downloading requests-2.34.2-py3-none-any.whl.metadata (4.8 kB)
Collecting charset_normalizer<4,>=2 (from requests)
Downloading charset_normalizer-3.5.2-cp313-cp313-win_amd64.whl.metadata (47 kB)
Collecting idna<4,>=2.5 (from requests)
Downloading idna-3.20-py3-none-any.whl.metadata (7.2 kB)
Collecting urllib3<3,>=1.26 (from requests)
Downloading urllib3-2.8.0-py3-none-any.whl.metadata (7.4 kB)
Collecting certifi>=2023.5.7 (from requests)
Downloading certifi-2026.7.22-py3-none-any.whl.metadata (2.5 kB)
Downloading requests-2.34.2-py3-none-any.whl (73 kB)
Downloading charset_normalizer-3.5.2-cp313-cp313-win_amd64.whl (206 kB)
Downloading idna-3.20-py3-none-any.whl (69 kB)
Downloading urllib3-2.8.0-py3-none-any.whl (135 kB)
Downloading certifi-2026.7.22-py3-none-any.whl (136 kB)
Installing collected packages: urllib3, idna, charset_normalizer, certifi, requests
Successfully installed certifi-2026.7.22 charset_normalizer-3.5.2 idna-3.20 requests-2.34.2 urllib3-2.8.0
[notice] A new release of pip is available: 26.0.1 -> 26.2.1
[notice] To update, run: python.exe -m pip install --upgrade pip설치한 패키지를 불러와 버전을 출력해 봅니다.
python -c "import sys, requests; print('Python', sys.version.split()[0], '/ requests', requests.__version__)"Python 3.13.13 / requests 2.34.2Python 버전과 requests 버전이 표시되면 Python, pip, 가상 환경이 모두 정상입니다. 가상 환경에서 나올 때는 deactivate를 실행합니다.
deactivate10. (다른 방법) Python 공식 설치 관리자로 설치
python.org는 Windows용 공식 설치 관리자 Python Install Manager를 제공합니다. py 명령으로 원하는 버전을 내려받아 설치하고, 여러 버전을 함께 관리할 수 있습니다. 새 Python 버전도 바로 설치할 수 있습니다. 이 방법을 쓸 때도 4단계처럼 Microsoft Store 바로가기를 꺼 두세요.
winget으로 설치 관리자를 찾습니다. winget을 처음 쓰면 Microsoft Store 소스의 약관 동의를 묻습니다. Y를 입력하고 Enter를 누릅니다.
winget search Python.PythonInstallManagerThe `msstore` source requires that you view the following agreements before using.
Terms of Transaction: https://aka.ms/microsoft-store-terms-of-transaction
The source requires the current machine's 2-letter geographic region to be sent to the backend service to function properly (ex. "US").
Do you agree to all the source agreements terms?
[Y] Yes [N] No:설치 관리자를 설치합니다. 관리자 권한 확인 창은 표시되지 않습니다.
winget install Python.PythonInstallManagerFound Python Install Manager [Python.PythonInstallManager] Version 26.4.240.0
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Successfully verified installer hash
Starting package install...
██████████████████████████████ 100%
Successfully installedpy install 뒤에 버전을 적으면 그 계열의 최신 버전이 설치됩니다. 3.15를 설치합니다. 처음 실행하면 설치 관리자가 스스로 최신 버전으로 업데이트됩니다.
py install 3.15Python install manager was successfully updated to 26.4.
Please see https://github.com/python/pymanager/releases/tag/26.4 for all changes.
The signature for https://www.python.org/ftp/python/index-windows.json was successfully verified.
Installing Python 3.15.0.
Extracting: ...............................................................✅
Global shortcuts directory is not on PATH. Add it for easy access to global Python aliases.
Directory to add: C:\Users\devuser\AppData\Local\Python\binpy로는 바로 실행되지만, python 명령은 아직 없습니다. 마지막 두 줄의 안내처럼 python 명령이 들어 있는 폴더가 PATH에 등록되지 않았기 때문입니다.
py --versionPython 3.15.0python --versionpython : The term 'python' is not recognized as the name of a cmdlet, function, script file, or operable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.3.14도 함께 설치하고, 설치된 버전 목록을 확인합니다. *가 붙은 것이 기본 버전입니다.
py install 3.14The signature for https://www.python.org/ftp/python/index-windows.json was successfully verified.
Installing Python 3.14.8.
Downloading: ...............................................................✅
Extracting: ...............................................................✅
Global shortcuts directory is not on PATH. Add it for easy access to global Python aliases.
Directory to add: C:\Users\devuser\AppData\Local\Python\binpy listTag Name Managed By Version Alias
3.15[-64] * Python 3.15.0 PythonCore 3.15.0 python3[-64].exe, python3.15[-64].exe
3.14[-64] Python 3.14.8 PythonCore 3.14.8 python3.14[-64].exe특정 버전으로 실행할 때는 -V: 뒤에 버전을 적습니다.
py -V:3.14 --versionPython 3.14.8python 명령으로도 실행하려면 안내된 폴더를 사용자 PATH에 추가합니다. 지금 사용자 PATH 끝에 ;와 폴더 경로를 붙여 다시 저장하는 명령이고, 출력은 없습니다.
[Environment]::SetEnvironmentVariable("Path", [Environment]::GetEnvironmentVariable("Path", "User") + ";$env:LOCALAPPDATA\Python\bin", "User")PowerShell 창을 닫고 새로 연 뒤 확인합니다. python은 기본 버전(3.15.0)으로, python3.14는 3.14로 실행됩니다.
python --versionPython 3.15.0python3.14 --versionPython 3.14.8pip --versionpip 26.2.1 from C:\Users\devuser\AppData\Local\Python\pythoncore-3.15-64\Lib\site-packages\pip (python 3.15)11. 문제 해결
Python was not found; run without arguments to install from the Microsoft Store, or disable this shortcut from Settings > Apps > Advanced app settings > App execution aliases.
Python이 설치되지 않았거나, Python보다 Windows의 Microsoft Store 바로가기가 먼저 실행되었다는 뜻입니다. 4단계처럼 설정 › 앱 › 고급 앱 설정 › 앱 실행 별칭에서 App Installer의 python.exe·python3.exe를 끈 뒤, PowerShell 창을 새로 열어 다시 확인하세요.
& : File C:\Users\devuser\install-pyenv-win.ps1 cannot be loaded because running scripts is disabled on this system.
PowerShell 스크립트 실행 정책이 Windows 11 기본값 Restricted라서 나는 오류입니다. Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned를 실행한 뒤 다시 실행하세요. pyenv 명령과 가상 환경의 Activate.ps1도 같은 이유로 이 설정이 필요합니다.
pyenv-update.vbs(172, 13) htmlfile: This command is not supported.
pyenv-win의 pyenv update가 Windows 11에서 실패하는 오류로, pyenv-win 저장소에 보고되어 있습니다. 이 오류가 나면 버전 목록이 갱신되지 않아 최근에 나온 Python 버전을 pyenv로 설치할 수 없습니다. 최신 버전이 필요하면 10단계의 공식 설치 관리자를 쓰세요.
python : The term 'python' is not recognized as the name of a cmdlet, function, script file, or operable program.
pyenv를 쓰는 경우 pyenv global로 기본 버전을 정하지 않았거나, 설치 전에 열어 둔 창에서 실행했다는 뜻입니다. pyenv versions로 *가 붙은 버전이 있는지 확인하고, 새 PowerShell 창에서 다시 실행하세요. 공식 설치 관리자를 쓰는 경우에는 10단계처럼 %LOCALAPPDATA%\Python\bin을 사용자 PATH에 추가했는지 확인하세요. py 명령은 PATH 추가 없이도 실행됩니다.
12. 삭제하기
pyenv-win 삭제
pyenv-win 설치 스크립트에 -Uninstall을 붙여 실행하면 .pyenv 폴더(설치한 Python 버전 포함)와 환경 변수를 모두 지웁니다. 설치 때 내려받은 install-pyenv-win.ps1이 있는 사용자 폴더에서 실행합니다.
&"./install-pyenv-win.ps1" -UninstallRemoving C:\Users\devuser\.pyenv...
Removing environment variables...
pyenv-win successfully uninstalled.사용자 PATH에 pyenv 경로가 남아 있지 않은지 확인합니다.
[Environment]::GetEnvironmentVariable("Path", "User") -split ";"C:\Users\devuser\AppData\Local\Microsoft\WindowsApps지금 열려 있는 PowerShell 창에는 PYENV 같은 환경 변수가 남아 보일 수 있습니다. 창을 열 때 읽어 온 값이기 때문이고, 새 창을 열면 사라집니다.
공식 설치 관리자와 Python 삭제
py uninstall --yes --purge는 설치한 Python 버전과 바로가기, 내려받은 파일을 확인 질문 없이 모두 지웁니다. 이어서 설치 관리자 자체를 winget으로 삭제합니다.
py uninstall --yes --purgePurging Python 3.15.0 from C:\Users\devuser\AppData\Local\Python\pythoncore-3.15-64
Purging Python 3.14.8 from C:\Users\devuser\AppData\Local\Python\pythoncore-3.14-64
Purging saved downloads from C:\Users\devuser\AppData\Local\Python\_cache
Removing global commands directory from PATH
Purging global commands from C:\Users\devuser\AppData\Local\Python\bin
Purging all shortcutswinget uninstall Python.PythonInstallManagerFound Python Install Manager [Python.PythonInstallManager]
Starting package uninstall...
██████████████████████████████ 100%
Successfully uninstalled삭제 후에도 빈 Python 폴더가 남습니다. 지우고 확인합니다. False가 표시되면 모두 삭제된 것입니다.
Remove-Item "$env:LOCALAPPDATA\Python" -Recurse -Force
Test-Path "$env:LOCALAPPDATA\Python"FalseMicrosoft Store 바로가기 되돌리기
4단계에서 끈 앱 실행 별칭을 원래대로 쓰고 싶다면, 같은 화면에서 App Installer의 python.exe·python3.exe 스위치를 다시 켭니다.
이 문서가 도움이 됐나요? 틀린 곳이나 바뀐 내용이 있으면 알려 주세요.
내용 정정 요청