VS Code에서 Python 인터프리터가 여러 개인 이유 (ft. 인터프리터와 환경의 관계)

nara_lee·2025년 5월 19일
0

Jupyter 노트북에서 Python 환경 잘 설정했는데도 패키지를 못 불러오거나 sys.executable 경로가 이상한 경우 있음.
이유는 단순함. VS Code에는 Python 인터프리터가 세 군데 따로 있음.

1. VS Code 인터프리터 설정

  • .py 파일 실행하거나, 터미널 자동 생성할 때 쓰이는 인터프리터
  • 커맨드 팔레트 → Python: Select Interpreter 메뉴에서 선택
  • 이걸 바꿔도 노트북 커널은 자동으로 안 바뀜

2. 주피터 노트북 커널

  • .ipynb 파일 상단 오른쪽에 표시됨 (Python 3.x.x ('env이름'))
  • 이게 주피터 노트북이 실제로 실행되는 환경
  • sys.executable 찍으면 이 커널의 경로 나옴
  • 바꿀 땐 상단 커널명 클릭해서 직접 선택해야 함

3. 터미널에서 활성화된 conda 환경

  • conda activate llm310 같은 명령으로 직접 들어간 환경
  • 이 환경에서 주피터 켜도, 노트북은 별도로 kernel 등록해야 연결됨
  • 이 상태에서 kss, torch 등 설치해도, 노트북에서 안 보일 수 있음

실제 겪은 문제

  • VS Code에서 llm310 환경 선택해도, 노트북 실행 시 sys.executable/Desktop/LLMintro/.conda/bin/python으로 나옴
  • 알고 보니 .conda라는 환경이 따로 있었음 (잘못 생성된 conda env)
  • Jupyter 커널은 여전히 .conda 환경을 쓰고 있었음
  • 결국 llm310 환경을 주피터 커널로 등록해야 해결됨

커널 등록 방법

conda activate llm310
python -m ipykernel install --user --name llm310 --display-name "Python (llm310)"
  • 위 명령 실행하면 커널 목록에 Python (llm310) 생김
  • 이후 노트북에서 해당 커널 선택하면 됨

요약

  • VS Code 인터프리터, 주피터 커널, 터미널 환경은 별개임
  • 하나 바꿨다고 나머지 다 바뀌지 않음
  • .ipynb 파일 쓸 땐, 커널 경로가 진짜 원하는 환경인지 반드시 확인할 것
  • 주피터 커널에 conda 환경 등록은 수동임 (ipykernel install)

인터프리터와 환경의 차이

구분Environment (환경)Interpreter (인터프리터)
의미Python 실행에 필요한 패키지 집합과 설정Python 실행을 실제로 수행하는 실행 파일 (python)
예시conda create -n llm310 python=3.10/anaconda3/envs/llm310/bin/python
주된 역할프로젝트마다 독립된 라이브러리/버전 관리코드 실행 및 주피터 커널 선택 등에 사용됨
종류conda, venv, poetry, virtualenv각 환경 안에 있는 python, python3
관계환경 안에 인터프리터가 하나 포함인터프리터는 특정 환경을 대표

🧪 Environment = 실행에 필요한 도구 세트

  • 가상환경은 말 그대로 Python이 실행되는 독립된 우주
  • 예: llm310이라는 환경에는 numpy, tensorflow, kss 등이 설치되어 있음
  • 다른 환경 base, venv, myenv에는 다른 버전의 패키지가 있을 수 있음
  • 목적: 서로 다른 프로젝트가 서로 충돌하지 않도록 해줌

🧠 Interpreter = 그 환경의 실행기

  • 환경 속에 들어 있는 python 실행 파일 자체
  • VS Code에서 인터프리터를 선택한다는 건, 어떤 환경의 Python을 실행기로 쓸지 고르는 것
  • 예: /anaconda3/envs/llm310/bin/pythonllm310 환경의 인터프리터

🎯 관계 비유

비유로 설명하면:

  • Environment = 부엌
    (재료: 패키지, 조리도구: 설정 등)

  • Interpreter = 요리사
    (부엌 안에서 실제 요리를 실행하는 존재)

즉, "어떤 부엌에서 어떤 요리사로 요리할지(VS Code 설정)" 를 정하는 게 Interpreter 선택임.


✅ 개발 실무에서 중요한 점

  • VS Code, Jupyter, 터미널에서는 Interpreter 선택 = Environment 선택과 거의 동일하게 작동함
  • 하지만 내부적으로는 VS Code는 python 실행 파일 기준으로 인식하므로, 환경을 바꿨다면 해당 환경의 interpreter 경로를 명확히 지정해주는 게 중요

본 후기는 [한글과컴퓨터x한국생산성본부x스나이퍼팩토리] 한컴 AI 아카데미 (B-log) 리뷰로 작성 되었습니다.

#한컴AI아카데미 #AI개발자 #AI개발자교육 #한글과컴퓨터 #한국생산성본부 #스나이퍼팩토리 #부트캠프 #AI전문가양성 #개발자교육 #개발자취업

0개의 댓글