IT 개발2026-07-09

파이썬 가상환경, 생성부터 재구성까지

파이썬 가상환경을 만들었는데 설치한 패키지가 보이지 않으시나요? venv 생성과 운영체제별 활성화, 실행 경로 확인, requirements.txt를 이용한 삭제 후 재구성 순서를 정리합니다.

파이썬 가상환경, 생성부터 재구성까지 대표 썸네일

안녕하세요. 사랑받는 IT 프로덕트의 첫걸음, 똑똑한개발자입니다.

오늘의 인사이트 요약

  1. 파이썬 가상환경은 프로젝트마다 따로 두는 실행 공간이라 서로 다른 프로젝트의 패키지 설치를 분리합니다.

  2. 생성은 venv 명령 한 줄로 끝나고 활성화 명령은 macOS와 Windows가 서로 다릅니다.

  3. 가상환경은 지우고 다시 만드는 공간이니 패키지 목록과 Python 버전, 별도 설정 정보를 함께 남깁니다.


파이썬 가상환경은 프로젝트마다 패키지 설치 공간을 분리하는 기능입니다. 서로 다른 버전을 쓰는 프로젝트를 한 컴퓨터에서 관리할 때 유용합니다. 오늘은 파이썬 가상환경을 venv로 만들고 활성화한 뒤, 필요한 정보를 남겨 다시 구성하는 순서를 알아보겠습니다.

파이썬 가상환경은 왜 프로젝트마다 따로 만들까

파이썬 가상환경이 필요한 이유 - 전역 설치 충돌과 프로젝트별 .venv 비교

가상환경 없이 설치하면 모든 프로젝트가 패키지 한 벌을 나눠 씁니다.

A 프로젝트는 구버전을, B 프로젝트는 최신 버전을 원하면 둘 중 하나는 깨집니다.

프로젝트 폴더 안에 따로 두는 실행 공간

폴더 이름은 보통 .venv나 venv라고 파이썬 공식 문서가 적고 있습니다. 그 안에 설치한 패키지는 해당 가상환경의 Python으로 실행할 때 사용합니다. 보안 격리나 운영체제 전체의 분리를 제공하는 기능은 아닙니다.

파이썬 가상환경 생성, venv 한 줄이면 됩니다

venv는 파이썬에 기본으로 들어 있어 프로젝트 폴더에서 아래 명령만 실행하면 .venv 폴더가 생깁니다.

python3 -m venv .venv
파이썬 가상환경 생성 - macOS python3와 Windows py로 venv 만들기

macOS는 python3, Windows는 py로 부릅니다.

Windows용 py -m venv .venv는 Python Packaging 가이드에 나온 형태 그대로입니다. macOS에서는 python 대신 python3로 부르는 편이 안전합니다.

파이썬 3.13부터는 .gitignore가 같이 생깁니다.

가상환경은 Git에 올리지 않는다는 것이 공식 문서의 기준이고, 3.13 이후 venv가 .venv 안에 .gitignore를 만들어 두는 것도 그래서입니다.

파이썬 가상환경 활성화와 종료, 운영체제마다 명령이 다릅니다

활성화하면 그 터미널의 python과 pip가 .venv 안을 가리키도록 PATH가 바뀝니다. 활성화하지 않고 가상환경의 Python 실행 파일을 직접 호출해도 됩니다.

파이썬 가상환경 활성화 - 운영체제별 activate 명령과 deactivate

환경

활성화 명령

macOS·Linux (bash·zsh)

source .venv/bin/activate

Windows 명령 프롬프트

.venv\Scripts\activate.bat

Windows PowerShell

.venv\Scripts\Activate.ps1

PowerShell에서 활성화 스크립트가 차단될 수 있습니다.

Activate.ps1이 거부된다면 실행 정책과 조직의 관리 기준을 확인합니다. 정책을 바꾸지 않고 .venv\Scripts\python.exe -m pip처럼 실행 파일 경로를 직접 사용할 수도 있습니다. 아래는 Python 문서가 제시한 현재 사용자 범위 설정이므로 적용 전 조직 정책을 확인합니다.

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

켜졌는지는 python 경로로 확인합니다.

macOS·Linux에서는 which python, Windows 명령 프롬프트에서는 where python, PowerShell에서는 Get-Command python으로 확인합니다. 결과에 .venv 안의 python이 찍히면 파이썬 가상환경 활성화는 끝났습니다.

파이썬 가상환경 나가기는 deactivate 한 단어입니다.

운영체제를 가리지 않습니다. 입력하는 순간 원래 파이썬으로 돌아옵니다.

파이썬 가상환경 삭제와 requirements.txt로 다시 만들기

파이썬 가상환경 삭제는 .venv 폴더를 지우면 끝납니다.

deactivate로 빠져나온 뒤 .venv 폴더를 휴지통에 넣습니다. 공식 문서도 가상환경을 쉽게 지우고 다시 만드는 일회용 공간으로 봅니다. 프로젝트 폴더를 옮겼다면 새 위치에서 새로 만듭니다.

requirements.txt는 설치 목록을 적어 둔 영수증입니다.

지금 깔린 패키지와 버전을 pip freeze로 파일에 적어 두면 새 환경에서는 목록을 읽어 다시 설치할 수 있습니다. Python 버전과 운영체제 의존성, 환경변수는 별도로 기록합니다.

python -m pip freeze > requirements.txt
python -m pip install -r requirements.txt

uv를 쓰면 같은 일이 더 짧아집니다.

uv에서는 uv venv로 가상환경을 만들 수 있습니다. 프로젝트 관리 방식이라면 uv init으로 초기화한 뒤 uv add로 의존성을 추가하며 pyproject.toml과 uv.lock을 함께 관리합니다.

가상환경 구성을 기록하면 팀원이 스크립트를 실행할 때 필요한 정보를 전달하기 편합니다. 그다음에는 이 프로젝트를 다른 사람 컴퓨터에서 한 번에 똑같이 띄울 수 있나요?라고 스스로 물어봅니다.

파이썬 가상환경 점검 체크리스트 - 생성, 활성화, 삭제, requirements.txt

설정과 적용 조건을 더 살펴보려면 Python venv 문서 · uv 프로젝트 관리를 참고해 보세요.


파이썬 코드를 운영 환경으로 이어갑니다

똑똑한개발자는 Python·Django와 클라우드 인프라를 활용해 백엔드를 개발합니다. 개인 컴퓨터에서 실행한 코드가 서비스로 이어지려면 실행 버전과 의존성, 설정값을 운영 환경에서도 관리해야 합니다. 가상환경은 이때 패키지 구성을 구분하는 출발점이 됩니다.

똑똑한개발자 제품 개발 경험과 환경 소개서 원본

노트북에서 실행하는 코드를 서비스로 옮기고 싶으신가요? 아래 링크로 문의해 주시면 실행 환경과 필요한 서버 기능을 함께 검토하겠습니다.

감사합니다. :)


📚 이어서 읽어보세요

클립보드에 복사되었어요 ✓
이 글을 공유해보세요!