개발

윈도우11 venv 파이썬 가상환경 설치 및 사용 방법

ikkison 2026. 8. 19. 13:30
반응형

0. 준비

윈도우11에서 명령 프롬프트(CMD)나 PowerShell에서 실행하는것을 추천드리며, 실행 시 "관리자 권한" 으로 열고 명령어를 실행해야합니다.

 

커맨드/프롬프트 창이 어색하시더라도 몇가지 명령어를 사용하고, 가상환경을 동작하시다 보면 더 편리하고 대체하기 어렵다는것을 느끼실 겁니다.

 

VSCode 등 IDE 툴을 사용하시는 분들도, 커맨드/프롬프트 창을 사용하시는 IDE툴에서 사용할 수 있으므로 단순실행이나 디버그 상황이 아닌 경우 함께 사용하는걸 추천드립니다.

 


1. venv 설치

venv는 별도로 설치할 필요가 없습니다.

파이썬 3.3 버전부터 파이썬 표준 라이브러리에 기본 포함되어 있습니다.

 

1.1. 파이썬 버전 확인

명령 프롬프트(CMD)나 PowerShell에서 아래 명령어로 파이썬 동작 여부를 확인합니다.

python --version

 

1.2. venv 동작 확인

그리고, 가상환경을 임시로 만들어봅니다.

python -m venv myenv

 

에러 없이 생성되면 이제 가상환경 기능을 사용할 수 있습니다.

 

테스트용으로 "myenv" 가 생성되었는데, 동작만 확인용이고 용량만 차지하고 사용하지 않을테니 삭제해줍시다.

 

> 명령 프롬프트(CMD)에서 삭제

rmdir /s /q myenv

 

> PowerShell에서 삭제

Remove-Item -Recurse -Force myenv

2. venv 사용해보기

2.1. 가상환경 만들기

가상환경을 만들고 싶은 프로젝트 폴더로 이동한 뒤 아래 명령어를 입력합니다.

가상환경 이름은 원하는 이름으로 변경해도 됩니다.

 

명령어는 "python -m venv 가상환경이름" 이며, "가상환경이름" 의 폴더가 생성 됩니다.

python -m venv myenv

🔖 가상환경 이름 추천

  • .venv
    • 현재 가장 추천되는 네이밍 방식입니다.
    • 폴더 이름 앞에 점(.)이 붙어 숨김 폴더로 처리됩니다. (예 : .myenv)
    • 장점
      • VS Code, PyCharm 등 대부분의 최신 IDE가 프로젝트 폴더 내 .venv를 감지하면 자동으로 인터프리터로 인식합니다.
      • 파일 탐색기나 작업 영역을 어지럽히지 않고 깔끔하게 관리할 수 있습니다.
      • 최근 poetry, uv 같은 모던 도구들도 기본값으로 .venv를 많이 채택합니다.
  • venv
    • 명확하고 직관적인 직경형 이름입니다.
    • 초보자가 찾기 쉽고, CLI(터미널)에서 입력하기 간결합니다.

⚠️ 가상환경 이름 주의!!!

 

  • 가상환경 이름 .env 은 사용하지 않는 것을 권장합니다.
  • 간혹 가상환경 이름을 .env 로 지으시는 경우가 있습니다.
  • 주의사항: 파이썬에서는 API 키환경 변수를 저장하는 dotEnv 파일(.env)과 이름이 충돌할 수 있으므로, env 의 가상환경이름은 지양합니다.
  • 기본적인 가상환경 이름 필요 시 .venv 를 사용하시는 것을 권장합니다.

 

 

2.2. 가상환경 활성화 (사용하기)

앞서 만든 "가상환경이름" 의 폴더가 확인되면 가상환경을 사용할 수 있습니다.

가상환경 실행은 (1) 가상환경을 생성한 위치 이자 (2) 현재 "가상환경이름" 의 폴더가 있는 위치에서 실행이 가능합니다.

 

> CMD 명령어는 "가상환경이름\Scripts\activate" 입니다.

.\myenv\Scripts\activate

 

> PowerShell 명령어는 ".\가상환경이름\Scripts\Activate.ps1"

.\myenv\Scripts\Activate.ps1

 

💡 PowerShell에서 스크립트 실행 오류가 발생할 경우

  • 이 시스템에서 스크립트를 실행할 수 없으므로... 에러가 난다면 PowerShell을 관리자 권한으로 열고 아래 명령어를 실행하여 권한을 부여해 주세요.
  • Set-ExecutionPolicy Unrestricted -Scope CurrentUser

 

가상환경을 활성화하면 터미널 프롬프트 앞에 (myenv)와 같이 가상환경 이름이 표시됩니다.

(myenv) C:\Users\Username\MyProject>

** 예시 입니다.

 

가상환경에서 실행할 파이썬을 확인해봅시니다.

 

🖥️CMD 로 실행할 파이썬 확인

> CMD 명령 입력

where python

 

> CMD 명령 출력

C:\Users\Username\MyProject\myenv\Scripts\python.exe
C:\Users\username\AppData\Local\Programs\Python\Python312\python.exe
C:\Users\username\AppData\Local\Microsoft\WindowsApps\python.exe

 

가장 상단에 나의 가상환경에서 실행할 파이썬 경로를 확인할 수 있다.

 

where 명령어 외 환경 변수로도 확인할 수 있다.

 

> CMD 환경 변수 명령 입력

echo %VIRTUAL_ENV%

 

> CMD 환경 변수 명령 출력

C:\Users\Username\MyProject\myenv

 

🖥️PowerShell 로 실행할 파이썬 확인

> PowerShell 명령 입력

Get-Command python | Select-Object -ExpandProperty Definition

 

> PowerShell 명령 출력

C:\Users\Username\MyProject\myenv\Scripts\python.exe

 

where 명령어 외 환경 변수로도 확인할 수 있다.

 

> PowerShell 환경 변수 명령 입력

$env:VIRTUAL_ENV

 

> PowerShell 환경 변수 명령 출력

C:\Users\Username\MyProject\myenv

 

❓가상환경을 사용 한다는 건

나의 컴퓨터에 설치된 파이썬을 사용하는 것이 아닌 가상환경의 파이썬을 실행시키는 것입니다.

  • 컴퓨터 : 컴퓨터에 설치된 파이썬과 컴퓨터에 설치된 파이썬 모듈을 사용함.
  • 가상환경 : 가상환경의 파이썬과 가상환경에 설치된 파이썬 모듈만 사용함.

하나의 컴퓨터에서 여러개의 파이썬 프로젝트를 편리하게 개발할 수 있습니다.

즉, 프로젝트 당 별도의 개발환경이 세팅되어 서로 간섭없이 개발합니다.

 

2.3. 가상환경 비활성화 (사용종료)

CMD 와 PowerShell 모두 "deactivate" 명령어를 실행하면 비활성화 됩니다.

deactivate

 

비활성화되면 프롬프트 앞의 `(myenv)` 표시가 사라지며 가상환경이 종료됩니다.

 

2.4. 가상환경 삭제하기

파이썬 가상환경은 별도의 복잡한 설치 시스템이 아닌 **단순 폴더 구조**로 되어 있습니다. 따라서 가상환경을 완전히 삭제하고 싶다면 가상환경을 종료한 상태에서 해당 폴더를 삭제하면 끝납니다.

 

> 가장 편한 삭제 방법

윈도우에서는 파일탐색기에서 해당 폴더를 삭제하는게 가장 편한 방법입니다.

 

> CMD 에서 삭제하기

rmdir /s /q myenv

 

> PowerShell 에서 삭제하기

Remove-Item -Recurse -Force myenv

 

3. 몰아보기

# 생성
python -m venv myenv

# 활성화 cmd
myenv\Scripts\activate

# 활성화 powershell
.\myenv\Scripts\Activate.ps1

# 활성된 가상환경 확인 cmd
where python
echo %VIRTUAL_ENV%

# 활성된 가상환경 확인 powershell
Get-Command python | Select-Object -ExpandProperty Definition
$env:VIRTUAL_ENV

# 비활성화
deactivate

# 삭제 cmd
rmdir /s /q myenv

# 삭제 powershell
Remove-Item -Recurse -Force myenv

 

4. 파이썬 소스코드로 자신의 가상환경 확인하기

python -c "import sys; print(sys.prefix)"

 

반응형