파이썬 가상환경(venv) 완벽 정리 - 만들기부터 활성화·삭제까지!
목차9개 항목
안녕하세요! Mojangcam입니다 😎
디스코드 봇 시리즈랑 파이썬 업무 자동화 #1 - 엑셀 자동화 글을 따라하다 보면 pip install을 정말 많이 하게 되죠? 그런데 프로젝트마다 라이브러리를 전부 컴퓨터 전체에 깔아버리면, 언젠가 버전이 충돌하면서 "어제까지 되던 봇이 오늘 안 돼요" 사태가 터져요 😅
오늘은 그걸 막아주는 가상환경(venv) 을 완벽 정리해볼게요. 만들기 → 켜기/끄기 → 패키지 관리 → 삭제까지, 이 글 하나면 끝나도록 구성했어요!
🧠 가상환경이 왜 필요한가요?
가상환경은 한마디로 프로젝트마다 따로 쓰는 독립된 파이썬 방이에요. 방마다 설치된 라이브러리가 다르니까 서로 안 엉킵니다.
- 디스코드 봇 프로젝트는 discord.py 2.x, 크롤러 프로젝트는 requests… 이렇게 프로젝트별로 분리할 수 있어요
- 라이브러리 버전 충돌을 예방해요 (A 프로젝트는 구버전, B는 신버전이 필요할 때!)
requirements.txt로 다른 컴퓨터에서도 똑같은 환경을 그대로 재현할 수 있어요 (VPS 배포할 때 필수!)
📌 준비물
- Python 3.14.x (현재 최신 안정 버전, 3.8 이상이면 동일하게 동작) — venv는 파이썬에 기본 내장이라 별도 설치가 필요 없어요!
- 터미널: Windows는 PowerShell(또는 cmd), Mac/리눅스는 기본 터미널
📌 1단계 - 가상환경 만들기
프로젝트 폴더로 이동해서 딱 한 줄이면 끝이에요.
# 프로젝트 폴더로 이동 후
python -m venv venv하나씩 뜯어볼게요 💡
- python -m venv : 파이썬에 내장된 venv 모듈을 실행하라는 뜻이에요. Mac/리눅스는
python3 -m venv venv로 쓰세요. - 마지막 venv : 만들어질 폴더 이름이에요. 관례적으로
venv나.venv를 제일 많이 써요.
실행하면 프로젝트 폴더 안에 venv 폴더가 생기고, 그 안에 독립된 파이썬과 pip이 복사돼요.

📌 2단계 - 활성화 & 비활성화
운영체제마다 명령어가 조금 달라요. 여기서 제일 많이 헷갈려요!
# Windows (PowerShell)
venv\Scripts\Activate.ps1
# Windows (cmd)
venv\Scripts\activate.bat
# Mac / 리눅스
source venv/bin/activate활성화에 성공하면 프롬프트 앞에 (venv) 가 붙어요. 이 상태에서 설치하는 패키지는 전부 이 방 안에만 들어가요. 나올 때는 어느 OS든 deactivate 한 마디면 돼요.
📌 3단계 - 패키지 설치와 requirements.txt
활성화된 상태에서 평소처럼 설치하면 돼요.
pip install discord.py requests
# 지금 환경의 패키지 목록을 파일로 저장
pip freeze > requirements.txt
# 다른 컴퓨터/서버에서 한 방에 복원
pip install -r requirements.txt하나씩 뜯어볼게요 💡
- pip freeze : 현재 가상환경에 설치된 패키지와 버전을 전부 출력해요.
- requirements.txt : 이 파일만 있으면 누가 받아도 똑같은 환경을 만들 수 있어요. 디스코드 봇을 24시간 호스팅에 올릴 때도 이 파일이 필수예요!
- -r : requirements.txt에 적힌 목록을 그대로 설치하라는 옵션이에요.
📌 전체 명령어 모음 (복붙 OK)
# Python 3.8+ (작성 기준: Python 3.14.6)
# 1) 가상환경 생성
python -m venv venv
# 2) 활성화 (Windows PowerShell)
venv\Scripts\Activate.ps1
# 활성화 (Mac/리눅스)
# source venv/bin/activate
# 3) 패키지 설치 & 목록 저장
pip install discord.py
pip freeze > requirements.txt
# 4) 다 쓰면 비활성화
deactivate
# 5) 가상환경 삭제는 폴더만 지우면 끝! (Windows)
rmdir /s /q venv
# (Mac/리눅스) rm -rf venv📌 실행 결과
PS C:\projects\mybot> venv\Scripts\Activate.ps1
(venv) PS C:\projects\mybot> pip install discord.py
Successfully installed discord.py-2.x ...
(venv) PS C:\projects\mybot> deactivate
PS C:\projects\mybot>
📌 자주 나는 에러
- 이 시스템에서 스크립트를 실행할 수 없으므로... (UnauthorizedAccess) — 원인: Windows PowerShell의 실행 정책이 스크립트 실행을 막아서 발생해요. 해결: PowerShell에서
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser실행 후 다시 활성화하세요. (cmd의activate.bat을 쓰는 우회법도 있어요) - 'python'은(는) 내부 또는 외부 명령이 아닙니다 — 원인: 파이썬 설치 시 PATH 등록이 안 된 경우예요. 해결: 설치 프로그램에서 Add python.exe to PATH 체크 후 재설치하거나,
py -m venv venv처럼 py 런처를 사용하세요. - 분명 설치했는데 ModuleNotFoundError — 원인: 패키지는 가상환경에 깔았는데 실행은 전역 파이썬으로 하는 경우(또는 반대)예요. 해결: 터미널에 (venv) 가 붙어있는지 확인하고, VS Code라면 우하단 인터프리터를 venv의 파이썬으로 선택하세요.
📌 마무리
오늘은 파이썬 가상환경(venv)을 만들고, 켜고 끄고, requirements.txt로 환경을 저장하는 법까지 전부 정리해봤어요! 이제 프로젝트마다 깨끗한 환경으로 시작할 수 있겠죠? 🙌
앞으로는 파이썬·디스코드 봇·업무 자동화 글을 집중적으로 올릴 예정이에요. 다음 편에서는 파이썬으로 이메일 자동 발송하기를 다뤄볼게요. 기대해주세요!
