[Python] 파이썬 로컬 개발 환경 설정 : AI 관련 코딩 실습 준비
- -
안녕하세요! 갓대희입니다.
오늘은 AI 관련하여 최근 Python을 다루는 분들이 많아지는 것 같아, 본격적인 AI 연동 개발 전 Python 개발 환경에 대해 몇가지 다뤄보려고 한다. 그 중 오늘은 로컬 환경 세팅 에 대해 다뤄볼 예정이다.

파이썬 개발의 첫 단추, 로컬 개발 환경 구축을 위한 기본 설정 글이다.
"왜 내 컴퓨터에선 안 되지?"라는 질문의 근본 원인인 '의존성 지옥(Dependency Hell)'을 살펴보고, 이를 해결할 수 있는 3가지 핵심 도구 venv, Conda, uv를 비교 분석해보자.
목차
- 도입: 의존성 지옥이란?
- 사전 준비: 파이썬 올바르게 설치하기
- 가상환경, 왜 필수인가?
- 3대 도구 심층 비교: venv vs Conda vs uv
- 실전 실습 가이드
- IDE 연동: VS Code 설정
- 프로젝트 관리 베스트 프랙티스
- 트러블슈팅: 자주 발생하는 에러 해결
- FAQ
- 마무리
이전 글에서 온라인 환경(Google Colab 등)에서 파이썬의 맛을 봤다면, 이제는 진짜 개발을 위해 로컬 설정을 진행해볼 차례다.
많은 입문자가 파이썬을 처음 설치하고 터미널에 pip install pandas를 신나게 입력한다. 처음엔 잘 돌아간다. 나도 그렇게 개발을 많이 했었다. 하지만 1년 뒤, 혹은 프로젝트가 3~4개로 늘어났을 때 반드시 이런 상황을 마주하게 된다.
상황 1: 버전 충돌
1. Project A(작년 개발)는
Django 2.0을 사용 중2. Project B(신규 개발)를 위해
Django 4.0을 설치함3. 갑자기 잘 돌아가던 Project A에서 "ImportError" 에러 발생
4. 원인: 글로벌 환경 하나에 모든 패키지를 덮어씌웠기 때문
상황 2: 협업 문제
1. 동료가 보낸 코드를 받아서 실행
2. "ModuleNotFoundError: No module named 'xxx'" 에러 폭탄
3. 어떤 버전의 라이브러리가 필요한지 아무도 모르는 상황
4. 결국 한동안 삽질...
이것이 바로 개발자들이 말하는 '의존성 지옥(Dependency Hell)'이다. 30년 전 C언어 라이브러리 링크 시절이나 지금이나, 버전 관리는 개발자의 영원한 숙제다. 이 문제를 해결하기 위해 등장한 개념이 바로 '가상환경(Virtual Environment)'이다.
1. 사전 준비: 파이썬 올바르게 설치하기
가상환경을 다루기 전에, 파이썬 자체가 제대로 설치되어 있어야 한다. 의외로 많은 분들이 이 단계에서 실수를 한다.
Windows 파이썬 설치하기
Windows에서 파이썬을 설치하는 방법은 크게 두 가지다.
간편하지만 경로 이슈 발생 가능성 있음
일부 패키지와 호환 문제 보고됨
python --version
# 출력 예시: Python 3.12.0
pip --version
# 출력 예시: pip 24.0 from C:\Users\...\site-packages\pip
macOS 파이썬 설치하기
Mac에는 기본적으로 파이썬이 설치되어 있지만, 시스템용이므로 직접 설치하는 것을 권장한다.
brew install python버전 관리 용이, 업데이트 간편
Homebrew 없이 직접 설치 가능
SSL 인증서 수동 설치 필요할 수 있음
Mac/Linux에서는
python이 Python 2를, python3가 Python 3를 가리키는 경우가 있다.항상
python3 --version으로 확인하고, 필요시 alias를 설정하자.alias python=python3 (~/.zshrc (Mac) 또는 ~/.bashrc (Linux)에 추가)Homebrew로 최신 Python(예: 3.14)을 설치했는데도
python3 --version 실행 시 시스템 기본 Python(예: 3.9)이 나온다면?ex) 설치전 경로 및 버전 확인
- 3.9.6


- Homebrew로 설치 진행


- 설치 후에도 경로 및 버전이 그대로인 케이스


원인: macOS는
/usr/bin/python3 (시스템 Python 3.9)을 기본 제공한다. PATH 환경 변수에서 /usr/bin이 /opt/homebrew/bin보다 앞에 있으면 시스템 Python이 우선 적용된다.해결 방법:
# 1. 현재 사용 중인 Python 경로 확인
which python3
# 출력이 /usr/bin/python3 이면 문제 상황
# 2. ~/.zshrc 파일 열기 (Mac 기본 쉘)
nano ~/.zshrc
# 또는
open -e ~/.zshrc
# 3. 파일 맨 아래에 아래 내용 추가
export PATH="/opt/homebrew/bin:$PATH"
# 4. 변경사항 적용
source ~/.zshrc
# 또는 터미널 재시작
# 5. 확인
which python3
# 출력: /opt/homebrew/bin/python3 ✅
python3 --version
# 출력: Python 3.14.0 (또는 설치한 버전) ✅
핵심 포인트:
• PATH는 왼쪽부터 순서대로 탐색하므로 Homebrew 경로를 앞쪽에 두어야 우선 적용
• export PATH="/opt/homebrew/bin:$PATH"는 기존 PATH 앞에 Homebrew 경로 추가
• Apple Silicon(M1/M2/M3)은 /opt/homebrew, Intel Mac은 /usr/local 사용
• bash 쉘 사용자는 ~/.bashrc 또는 ~/.bash_profile 수정
2. 가상환경, 왜 필수인가?
쉽게 비유하자면 '프로젝트마다 독립된 방(Room)을 만들어 주는 것'이다.
- 모든 프로젝트가 한 공간 공유
- A가 바꾼 설정이 B에게 영향
- 누가 뭘 설치했는지 추적 불가
- 결국 충돌 → 모두가 불행
- 프로젝트마다 독립된 공간
- A방에서 뭘 해도 B방 무관
- 각 방의 설치 목록 명확
- 언제든 방을 비우고 새로 시작 가능
가상환경 폴더 구조
my_project/
├── .venv/ # 가상환경 폴더 (이 안에 모든 게 격리됨)
│ │
│ ├── bin/ # 🍎 Mac/Linux 전용
│ │ ├── python # 이 프로젝트 전용 파이썬
│ │ ├── pip # 이 프로젝트 전용 pip
│ │ └── activate # 활성화 스크립트 (source로 실행)
│ │
│ ├── Scripts/ # 🪟 Windows 전용 (Mac/Linux에는 없음)
│ │ ├── python.exe # 이 프로젝트 전용 파이썬
│ │ ├── pip.exe # 이 프로젝트 전용 pip
│ │ └── Activate.ps1 # 활성화 스크립트 (PowerShell)
│ │
│ ├── lib/ # 패키지 저장소
│ │ └── python3.12/
│ │ └── site-packages/ # 설치된 패키지들
│ │ ├── django/
│ │ ├── requests/
│ │ └── ...
│ └── pyvenv.cfg # 가상환경 설정 파일
│
├── main.py # 내 코드
├── requirements.txt # 의존성 목록
└── .gitignore # .venv/ 포함 필수!
가상환경을 사용하면 프로젝트 폴더 안에 .venv라는 폴더가 생기고, 그 안에 해당 프로젝트만을 위한 파이썬 실행 파일과 라이브러리가 격리되어 설치된다. 가상환경을 안 쓴다? 시한폭탄을 안고 개발하는 것과 같다.
3. 가상환경 도구 3파전 : venv vs Conda vs uv
"그래서 뭘 써야 하나요?" 이 질문에 답하기 위해 현업에서 가장 많이 쓰이는 3가지 도구를 비교해보자.
| 구분 | venv | Conda | uv |
|---|---|---|---|
| 출시 연도 | 2012 (Python 3.3) | 2012 | 2024 |
| 개발사 | Python 공식 | Anaconda Inc. | Astral (Ruff 개발사) |
| 구현 언어 | Python | Python | Rust |
| 별도 설치 | 불필요 (내장) | 필요 (무거움) | 필요 (가벼움) |
| 패키지 설치 속도 | 보통 | 느림 | 10-100배 빠름 |
| 파이썬 버전 관리 | ❌ 불가 | ✅ 가능 | ✅ 가능 |
| 비-파이썬 패키지 | ❌ 불가 | ✅ 가능 (강점) | ❌ 불가 |
| Lock 파일 | ❌ 없음 | ✅ environment.yml | ✅ uv.lock |
| 추천 대상 | 입문자, 표준 선호자 | 데이터 사이언스, ML | 모든 최신 프로젝트 |
속도 벤치마크 (실측 데이터)
| 작업 | pip | uv | 개선율 |
| 가상환경 생성 | ~2초 | ~0.1초 | 20배 ↑ |
| numpy 설치 (캐시 없음) | ~25초 | ~3초 | 8배 ↑ |
| Django 프로젝트 전체 설치 | ~90초 | ~8초 | 11배 ↑ |
* Astral 공식 벤치마크 및 커뮤니티 테스트 기반. 실제 환경에 따라 다를 수 있음.
venv 파이썬 표준의 안정성
장점: 아무것도 설치할 필요 없음. 파이썬만 있으면 바로 사용 가능. 가장 널리 알려진 방법이라 문서와 튜토리얼이 풍부함.
단점: 패키지 설치 속도가 느림. 파이썬 버전 자체를 관리할 수 없어 pyenv와 함께 써야 하는 경우가 많음. lock 파일 미지원으로 정확한 버전 재현이 어려움.
Conda 데이터 사이언스의 표준
장점: 파이썬뿐 아니라 C/C++ 기반 라이브러리(CUDA, MKL 등)도 관리 가능. 데이터 사이언스/머신러닝에서 사실상 표준. 파이썬 버전도 관리 가능.
단점: 무겁고 느림. Anaconda 전체 설치 시 수 GB. 일반 웹 개발에는 과한 도구. conda와 pip를 섞어 쓰면 환경이 꼬일 수 있음.
uv 2024년의 게임 체인저
장점: Rust로 작성되어 압도적인 속도. pip의 모든 기능을 대체하면서 훨씬 빠름. lock 파일로 재현 가능한 빌드. pyproject.toml 기반 현대적 프로젝트 관리. 파이썬 버전까지 관리 가능.
단점: 2024년 출시로 아직 새로움. 레거시 프로젝트와의 호환성 검증 필요. 비-파이썬 바이너리 패키지 관리는 Conda가 여전히 우위.
• 입문자 / 표준 선호:
venv로 시작하자. 구관이 명관.• 데이터 사이언스 / ML:
Conda (Miniconda 권장)• 새 프로젝트 / 속도 중시:
uv 강력 추천. 나의 경우는 uv로 시작했었기 때문에 계속 uv를 사용하긴 하고 있다.
4. [실습] 내 컴퓨터에 환경 구축하기
1. venv 사용법
파이썬만 깔려있다면 아무것도 더 설치할 필요가 없다.
mkdir my_venv_project
cd my_venv_project
python -m venv .venv
.venv\Scripts\Activate.ps1
.venv\Scripts\activate.bat
source .venv/bin/activate
(.venv) PS C:\my_venv_project> # Windows
(.venv) user@mac my_venv_project % # Mac
pip install requests pandas
deactivate
Activate.ps1 실행 시 "이 시스템에서 스크립트를 실행할 수 없으므로..." 에러가 뜨는가?이건 윈도우 보안 정책 때문이다. 관리자 권한으로 PowerShell을 열고 아래 명령어를 입력하자:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser(Y 선택 후 진행)
2. uv 사용법
Rust로 만들어져 말도 안 되게 빠르다.
Step 1: uv 설치 (최초 1회)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
curl -LsSf https://astral.sh/uv/install.sh | sh
설치 후 터미널을 재시작하거나 source ~/.zshrc (Mac) / source ~/.bashrc (Linux) 실행
uv venv
.venv\Scripts\Activate.ps1 # Windows
source .venv/bin/activate # Mac/Linux
uv pip install numpy pandas requests django
uv init my_uv_project
cd my_uv_project
uv add requests pandas
uv sync
uv run python main.py
uv run pytest # 테스트 실행
uv의 강력한 기능들
- uv python install 3.12 - 파이썬 버전 자체를 관리
- uv lock - 의존성 잠금 파일 생성 (재현 가능한 빌드)
- uv pip compile - requirements.txt를 lock 파일로 변환
- uv tool install ruff - CLI 도구 전역 설치
- uv cache clean - 캐시 정리
3. Conda
데이터 분석, 머신러닝을 주로 한다면 여전히 유효한 선택이다. Miniconda(최소 설치)를 권장한다.
전체 패키지 포함 (~3GB)
입문자용, 설치 후 바로 사용
최소 설치 (~50MB)
필요한 것만 직접 설치
Conda 핵심 명령어
# 가상환경 생성 (파이썬 버전 지정 가능)
conda create -n myenv python=3.11
# 가상환경 활성화
conda activate myenv
# 패키지 설치 (conda-forge 채널 권장)
conda install -c conda-forge pandas numpy
# pip와 혼용 시 (가급적 피하세요)
pip install some-package
# 환경 목록 확인
conda env list
# 환경 내보내기 (협업용)
conda env export > environment.yml
# 환경 복원
conda env create -f environment.yml
# 가상환경 삭제
conda env remove -n myenv
1. conda와 pip를 섞어 쓰지 말자
가능하면 모든 패키지를
conda install로 설치하자. pip를 섞어 쓰면 의존성 충돌이 발생할 수 있다.2. conda-forge 채널을 사용하자
기본 채널보다 패키지가 더 많고 최신이다.
conda install -c conda-forge [패키지]
5. IDE 연동: VS Code에서 가상환경 사용하기
가상환경을 만들었다면, IDE(통합 개발 환경)에서도 해당 환경을 인식하도록 설정해야 한다. VS Code 기준으로 설명한다.
VS Code 파이썬 인터프리터 설정
Extensions (Ctrl+Shift+X) → "Python" 검색 → Microsoft 공식 확장 설치
File → Open Folder → .venv가 있는 프로젝트 폴더 선택
Ctrl+Shift+P → "Python: Select Interpreter" 입력
→ .venv 안의 python 선택 (예: ./.venv/bin/python)
VS Code 하단 상태바에 선택한 파이썬 버전이 표시된다.
새 터미널을 열면 자동으로 가상환경이 활성화된다.
프로젝트 폴더에
.vscode/settings.json 파일을 만들고 아래 내용을 추가하면, 터미널을 열 때마다 자동으로 가상환경이 활성화된다.
// 🍎 Mac/Linux용
{
"python.defaultInterpreterPath": "${workspaceFolder}/.venv/bin/python",
"python.terminal.activateEnvironment": true
}
// 🪟 Windows용
{
"python.defaultInterpreterPath": "${workspaceFolder}/.venv/Scripts/python.exe",
"python.terminal.activateEnvironment": true
}
* 본인의 OS에 맞는 설정을 사용하자. VS Code가 자동으로 인식하는 경우도 많다.
6. 프로젝트 관리 베스트 프랙티스
가상환경 폴더(
.venv)는 절대 Git 저장소에 올리면 안 된다.용량도 클뿐더러, OS마다 파일 구조가 달라서 다른 컴퓨터에서 안 돌아간다.
.gitignore 파일 예시:
# 가상환경
.venv/
venv/
env/
# 파이썬 캐시
__pycache__/
*.pyc
*.pyo
# IDE 설정
.vscode/
.idea/
# 환경 변수 (민감 정보)
.env
내가 어떤 라이브러리를 설치했는지 기록해둬야 동료가(혹은 미래의 내가) 똑같이 설치할 수 있다.
# 현재 설치된 패키지 목록 저장
pip freeze > requirements.txt
# requirements.txt 내용 예시
# django==4.2.0
# requests==2.31.0
# pandas==2.0.3
# 다른 환경에서 똑같이 설치
pip install -r requirements.txt
2020년대의 파이썬 프로젝트 표준이다. uv, Poetry 등이 이 형식을 사용한다.
# pyproject.toml 예시
[project]
name = "my-project"
version = "0.1.0"
description = "My awesome project"
requires-python = ">=3.10"
dependencies = [
"requests>=2.28.0",
"pandas>=2.0.0",
]
[project.optional-dependencies]
dev = [
"pytest>=7.0.0",
"ruff>=0.1.0",
]
[tool.uv]
dev-dependencies = [
"pytest>=7.0.0",
]
장점: 프로젝트 메타데이터와 의존성을 한 파일에서 관리. lock 파일과 함께 사용하면 100% 재현 가능한 환경 구축.
7. 트러블슈팅: 자주 발생하는 에러 해결
파이썬 환경 설정에서 자주 마주치는 에러들과 해결법을 정리했다. 에러 메시지로 검색해서 찾아보자.
'python' is not recognized as an internal or external command
해결: 파이썬 재설치 시 "Add Python to PATH" 체크. 또는 환경 변수에 수동 추가.
이 시스템에서 스크립트를 실행할 수 없으므로
...\Activate.ps1 파일을 로드할 수 없습니다.
해결: 관리자 PowerShell에서
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser 실행ModuleNotFoundError: No module named 'pandas'
해결: 1) 가상환경 활성화 확인 (프롬프트에 (.venv) 표시 확인) 2)
pip install pandas 실행zsh: command not found: python
해결:
python3 사용하거나, ~/.zshrc (Mac) 또는 ~/.bashrc (Linux)에 alias python=python3 추가ERROR: Could not find a version that satisfies the requirement xxx
해결: 1) 패키지명 정확히 확인 (PyPI 검색) 2) 파이썬 버전 확인 3) 패키지의 지원 버전 확인
ssl.SSLCertVerificationError: certificate verify failed
해결: Finder → Applications → Python 3.x 폴더 → "Install Certificates.command" 더블클릭
8. 자주 묻는 질문 (FAQ)
which python3 실행 시 /usr/bin/python3가 나온다면 PATH 우선순위 문제다. ~/.zshrc 파일에 export PATH="/opt/homebrew/bin:$PATH"를 추가하고 source ~/.zshrc로 적용하자. 이렇게 하면 Homebrew Python이 시스템 Python보다 우선 적용된다. 위 섹션 2의 노란색 경고 박스를 참고하자..venv 또는 venv가 업계 관례다. 앞에 점(.)을 붙이면 숨김 폴더가 되어 깔끔하다. VS Code 등 대부분의 IDE가 이 이름을 자동 인식한다.uv pip install로 패키지를 설치할 수 있다. 또는 uv venv로 새로 만들어도 된다.python -m venv .venv 또는 uv venv로 깨끗하게 시작할 수 있다.
9. 마치며
한눈에 보는 선택 가이드
파이썬 입문자: 내장 venv로 시작. 구관이 명관.
새 프로젝트 시작: uv 강력 추천. 속도와 현대적 기능 모두 잡음.
데이터 사이언스/ML: Miniconda가 여전히 편리.
공통 원칙: "1 프로젝트 = 1 가상환경", .gitignore 필수, 의존성 기록 필수
처음엔 복잡해 보여도, 한 번 손에 익으면 무의식적으로 하게 된다. 다음 포스팅에서는 이렇게 구축한 환경 위에서 실제 프로젝트를 진행해 볼지, 조금더 이론을 살펴볼지 고민 중이다.
참고 자료
- Python 공식 venv 문서 - 표준 라이브러리 가이드
- uv 공식 문서 - Astral의 차세대 패키지 매니저
- Conda 공식 문서 - 데이터 사이언스 환경 관리
- Python Packaging User Guide - 파이썬 패키징 공식 가이드
'AI > DevTools for AI' 카테고리의 다른 글
| [Python 웹 환경] Google Colab 활용 가이드 : AI 관련 코딩 실습 준비 (0) | 2025.11.18 |
|---|
소중한 공감 감사합니다