2장. 개발 환경 준비
VS Code 에서 가상환경 고르기
같은 건물에 조리대가 여럿 있으면, 요리사는 출근할 때 "오늘은 3번 조리대에서 일한다"고 정해야 합니다. 정하지 않으면 엉뚱한 조리대에서 도구를 찾다가 "칼이 없다"고 헤맵니다. VS Code 도 컴퓨터에 파이썬이 여럿 있으면 어느 것으로 코드를 돌릴지 정해야 합니다. 이것을 "인터프리터 고르기"라고 합니다.
화면을 본뜬 그림이고 실제 캡처가 아닙니다. 창 바깥의 번호 ①~③ 이 오른쪽 목록과 짝을 이룹니다. ① 명령 팔레트(command palette, 명령을 글로 찾아 고르는 상자)를 열고, ② 목록에서 .venv 가 붙은 파이썬을 고르고, ③ 창 아래 파랑 상태 표시줄 오른쪽에 .venv 가 보이는지 확인합니다. 여기서 조리대가 파이썬 인터프리터, "오늘은 3번 조리대"라고 정하는 일이 인터프리터 고르기입니다. 비유와 다른 점은, VS Code 는 한 번 골라 두면 그 폴더를 열 때마다 기억해 준다는 것입니다.
고르는 순서
| 순서 | 하는 일 | 확인할 것 |
|---|---|---|
| 1 | 과목 폴더를 VS Code 로 연다(파일 → 폴더 열기) | 왼쪽 탐색기에 .venv, content, data 가 보인다 |
| 2 | Ctrl+Shift+P 로 명령 팔레트를 열고 Python: Select Interpreter 를 고른다 | 파이썬 목록이 뜬다 |
| 3 | .venv 가 붙은 파이썬을 고른다 | 목록에 없으면 "인터프리터 경로 입력"에서 .venv\Scripts\python.exe 를 고른다 |
| 4 | 새 터미널을 연다(보기 → 터미널) | 줄 앞에 (.venv) 가 붙어 있다 |
메뉴 이름은 VS Code 와 Python 확장의 판에 따라 조금 다를 수 있습니다. 이 교안을 만든 PC 에서 실제 화면과 대조하지는 못했으므로, 글자가 다르면 비슷한 이름의 항목을 고릅니다.
짧은 예시
VS Code 의 실행 단추(▷)로 아래 코드를 돌려 어느 python.exe 가 실행했는지 봅니다.
import sys
from pathlib import Path
# sys.executable: 지금 이 코드를 실행한 python.exe 의 위치
# 앞부분은 PC 마다 다르므로 끝의 세 부분(환경 폴더\Scripts\python.exe)만 이어 찍는다
print("\\".join(Path(sys.executable).parts[-3:])).venv\Scripts\python.exe.venv\Scripts\python.exe 가 나오면 제대로 골랐습니다. Python314\python.exe 처럼 .venv 가 없는 경로가 나오면 컴퓨터 전체의 파이썬으로 돌린 것이니 위의 2단계부터 다시 합니다.
코드가 의미하는 것
이 코드는 출근한 요리사가 "지금 몇 번 조리대에 서 있나"를 확인하는 일과 같습니다. 실행 파일의 위치를 읽고, 끝의 세 부분만 이어 찍습니다.
| 코드 | 하는 일 | 챗봇에서 뜻하는 것 |
|---|---|---|
sys.executable | 이 코드를 실행한 python.exe 의 위치를 알려 준다 | VS Code 의 실행 단추가 실제로 어느 인터프리터를 불렀는지 알려 줍니다. 터미널의 (.venv) 와 따로 확인해야 하는 값입니다 |
Path(...).parts[-3:] | 경로를 폴더 단위로 나눠 끝의 셋만 남긴다 | PC 마다 다른 앞부분을 빼고 .venv\Scripts\python.exe 만 남겨, 누가 돌려도 같은 꼴로 견줄 수 있게 합니다 |
"\\".join(...) | 조각을 역슬래시로 다시 잇는다 | Windows 의 경로 꼴로 다시 보여 줍니다 |
결과에서 읽을 것은 두 가지입니다.
- `.venv\Scripts\python.exe` 는 맞게 고른 것입니다. 과목 폴더의 가상환경 안 파이썬이 실행했으므로, 챗봇 코드가 이 상자에 설치한 패키지를 씁니다.
- 경로에 `.venv` 가 없으면 다시 고릅니다. 그 파이썬에는 langchain 이 설치되어 있지 않을 수 있어, 뒤의 실습에서 패키지를 불러오지 못할 수 있습니다.
주의할 점
- 터미널의
(.venv)와 VS Code 의 인터프리터는 따로입니다. 터미널에서는 켰는데 실행 단추는 다른 파이썬으로 돌 수 있습니다. 둘 다 확인합니다. - 실습 코드는
data폴더에서 실행한다고 보고 썼습니다. 실행 단추는 파일이 있는 폴더가 아닌 곳에서 돌 수 있으므로, "파일이 없다" 오류가 나면 터미널에서cd data로 들어가 실행합니다.