가상환경의 필요성
- 여러 프로젝트를 동시에 관리하다 보면, 각 프로젝트가 필요로 하는 파이썬 패키지가 서로 다르거나, 버전 충돌이 발생할 수 있습니다. 이를 해결하기 위해 프로젝트마다 독립된 공간(가상환경)을 만들고, 필요한 패키지를 그 안에 설치하여 관리합니다.
virtualenv: venv와 유사하나, Python 2와 3 모두 지원합니다.
pyenv: 다양한 버전의 Python을 쉽게 설치/관리할 수 있습니다(단, Windows 지원이 미약).
pyenv-virtualenv, virtualenvwrapper 등: 다양한 플러그인과 확장 기능을 제공합니다.
pipenv: 패키지 관리와 가상환경 생성을 하나의 명령어로 할 수 있도록 도와줍니다.
Ctrl+Shift+X)을 연 뒤 Python을 검색·설치합니다.프로젝트 폴더(작업할 폴더)를 연 다음, 터미널(`Ctrl+``)에서 아래 명령어 실행:
python -m venv env
"env"라는 가상환경 폴더가 생성됩니다. (폴더명은 자유, 보통 "env"나 "venv"를 많이 사용함)
Windows:
.\env\Scripts\activate
Mac/Linux:
source env/bin/activate
터미널 프롬프트 왼쪽에 (env) 등이 나타나면 활성화된 것.
Ctrl+Shift+P → "Python: 인터프리터 선택(Select Interpreter)" → (만든 env의 python 경로 선택)pip install flask 설치한 패키지는 env/Lib/site-packages(Windows) 혹은 env/lib/pythonX.X/site-packages(Linux,Mac)에만 저장됩니다.deactivate파이썬 소스코드(.py 파일)는 가상환경 폴더(env 또는 venv) “바깥”, 즉 프로젝트 폴더 내부(env와 같은 가상환경 디렉토리와 같은 레벨)에 생성합니다.
가상환경 폴더는 오직 패키지 및 실행 관련 파일이 들어 있는 별도 공간입니다.
→ 코드와는 철저히 분리하는 게 원칙입니다.
가상환경을 만든 후의 올바른 구조는 이런 식입니다.
C:\Algorithm
├── env/ ← (가상환경 폴더)
├── solution.py ← (여기에 파이썬 코드를 작성)
├── main.py
└── (기타 코드파일들)
env 폴더 안에 만들지 마세요!main.py 생성python main.py이렇게 실행하면, 가상환경에 설치된 패키지들이 사용됩니다!가상환경 폴더(env, venv 등)는 반드시 .gitignore에 추가하여 Git 등 버전관리 대상에서 제외합니다.
가상환경 내용을 서버 등 타 OS로 옮길 때는 requirements.txt 등 의존성 파일만 관리하고, 환경은 새로 만듭니다.
venv는 실제 Python 실행파일 및 라이브러리 경로에 대한 심볼릭링크, pyvenv.cfg 등 환경변수를 설정합니다.
가상환경이 활성화되면, 해당 환경의 python과 pip가 우선적으로 사용됩니다.
프로젝트 폴더별로 가상환경 생성
VSCode에서 해당 가상환경을 인터프리터로 지정
필요한 패키지는 반드시 가상환경 안에서 설치 및 관리
python -m venv env # 가상환경 생성
source env/bin/activate # (Linux/Mac) 활성화
.\env\Scripts\activate # (Windows) 활성화
pip install [패키지명] # 패키지 설치
deactivate # 가상환경 비활성화