VScode Python 익스텐션: interpreter 설정, venv conda 가상환경 활성화, 자동 실행
Visual Studio Code, 줄여서 VSCode는 Microsoft가 만들고 전세계 수많은 익스텐션 개발자들이 성장시킨, 현 시점 가장 인기 있는 IDEA입니다. Vscode는 익스텐션을 통해 모든 언어를 지원하고, 유연하고 개방적입니다. 게다가 빠르고, 무엇보다 무료입니다.
여러 언어 중에서도 Vscode의 파이썬 지원은 손에 꼽을 만큼 안정적이고, 편리한 익스텐션들도 쉽게 찾을 수 있습니다. PyCharm처럼 오직 파이썬만을 위해 만들어진 IDEA에서 찾아볼 수 없는 기능들도 있죠. 새로운 익스텐션들이 계속 등장해 개발자들의 눈길을 끌기도 하고요.
이렇게나 장점이 많은 vscode로 파이썬 개발을 시작하기 위해서는, 일단 단 1개의 익스텐션만 설치하면 됩니다.
아래에 보이는 Python 익스텐션입니다.
1. vscode python 익스텐션 설치
vscode의 확장 탭을 클릭하고 python
을 검색해서 1순위에 있는 익스텐션을 설치합니다.
Microsoft에서 제공한 것인지 확인하시고요. 설치가 완료되면 자동으로 익스텐션 기본 설정 탭이 열립니다.
최근에는 Jupyter Notebook 익스텐션도 함께 설치가 됩니다. 일단 파이썬 언어 설정부터 진행합니다.
2. 파이썬 인터프리터 설정
Select Python Interpreter 버튼을 클릭하면 내 컴퓨터에 설치된 파이썬 인터프리터들을 목록으로 확인할 수 있습니다. 원하는 버전으로 선택합니다.
다양한 파이썬 설치 방법은 다운로드 및 설치 (Mac) 혹은 다운로드 및 설치 (Win) 포스트를 참고하세요.
혹시 내가 생각한 파이썬 인터프리터가 목록에 없을 경우, 목록 가장 위쪽에 인터프리터 경로 입력 항목을 통해 경로를 추가합니다.
혹시나 이 페이지에서 설정하지 못 했다면 명령 팔레트를 열어서 python interpreter
로 검색하시면 찾을 수 있습니다.
이제 파이썬 파일을 열어서 원하는 버전의 파이썬으로 설정했는지 확인합니다. 이를 위해 파이썬 파일을 실행할 텐데, 공식적인 파이썬 익스텐션 덕분에 파이썬 파일 실행 방법도 간단해졌습니다.
3. 파이썬 파일 실행
아래 코드는 현재 실행되는 파이썬 인터프리터의 절대 경로와 버전을 출력합니다.
오른쪽 상단의 Play 버튼을 클릭하거나 키보드에서 F5
키를 눌러주세요
정상적인 코드라면, Vscode 내 터미널 창에서 실행 결과를 확인할 수 있습니다. 저는 맥 기본 파이썬을 선택해서 아래와 같은 결과를 얻었습니다.
4. venv, conda 가상환경 활성화
우리 컴퓨터에 설치된 여러 개의 파이썬 인터프리터는 저마다의 가상환경을 가지고 있습니다. 이름 때문에 Docker나 VM 같은 느낌을 풍기지만, 가상환경은 사실 인터프리터 하나와 그에 연결된 여러 패키지를 함께 부르는 말입니다.
예를 들어 우리가 2개의 프로젝트에 같은 인터프리터를 사용한다고 가정해볼게요. 하나의 가상환경에 2개의 프로젝트에서 사용하는 패키지들을 모두 설치하면, 각 프로젝트 입장에서는 쓸모 없는 패키지들이 많이 존재하는 상황이 됩니다. 그래서 각 프로젝트 별로 정말 필요한 패키지만 설치하기 위해 가상환경을 만들어 사용합니다.
Vscode는 가상환경을 만드는 2가지 방법을 지원합니다.
첫번째는 파이썬 표준 라이브러리에 포함된 venv
패키지를 이용하는 방법이고, 두번째는 아나콘다 혹은 미니콘다 배포판에 포함된 Conda 패키지 매니저를 이용하는 방법입니다.
하나씩 진행해보겠습니다.
4.1. venv로 가상환경 만들기
일단 Vscode에서 폴더 열기로 가상환경을 만들 프로젝트 디렉토리를 열어주세요.
그리고 나서 명령 팔레트를 열어서 python 환경 만들기 혹은 python environment 를 검색해주세요. 아래와 같이 해당 항목을 확인할 수 있습니다.
클릭하면, venv
와 conda
중 선택하는 창이 열립니다. venv
를 선택합니다.
마지막으로 가상환경에서 사용할 인터프리터를 목록에서 선택합니다.
Vscode는 새로운 가상환경과 최소한의 패키지를 알아서 설치합니다.
로딩이 완료되면 .venv
폴더가 생성되고 Vscode 오른쪽 하단에 가상환경 전용 인터프리터가 설정된 것을 확인할 수 있습니다.
.venv 폴더 | 인터프리터 항목 |
---|---|
4.2. conda로 가상환경 만들기
가상 환경을 만드는 방법은 venv와 동일합니다.
프로젝트 폴더를 열고, 명령 팔레트에서 Python 환경 만들기
를 검색한 후 클릭합니다.
우리는 Conda를 이용할 것이기 때문에 conda
를 선택합니다.
아직 Vscode와 Conda를 연결하지 않은 상태라면, 다음과 같은 에러 메시지를 마주합니다.
Vscode와 Conda를 연결하기 위해, 내 컴퓨터가 사용하는 Conda의 경로를 찾아야 합니다. Conda 대신 커뮤니티 버전인 Mamba를 사용할 수도 있습니다.
만약, Mambaforge가 아닌 Micromamba를 설치했다면, 별도의 Vscode 익스텐션 Micromamba (opens in a new tab) 을 검색해 설치해주세요.
사용 방법도 조금은 다릅니다. 명령 팔레트의 Micromamba: create environment
작업으로 가상 환경을 생성합니다.
터미널에서 which conda
혹은 which mamba
명령어를 입력합니다.
찾은 경로를 Vscode에 입력할 차례입니다.
명령 팔레트에서 설정(UI) 를 열고 conda
라고 검색합니다.
Python: Conda Path 항목에 위에서 얻은 경로를 입력합니다.
저는 Conda 대신 Mamba를 사용했습니다.
이제 다시 환경 만들기로 돌아가 conda 항목을 클릭하면, 다음 단계로 넘어가며 인터프리터 버전 선택 창이 뜹니다.
원하는 버전을 선택하면 Conda 기반 가상환경이 알아서 만들어집니다. .conda
폴더와 오른쪽 하단 인터프리터 버전을 확인해주세요.
.conda 폴더 | 인터프리터 항목 |
---|---|
4.3. Vscode 터미널에서 가상환경 자동 활성화
가상환경을 사용하는 중요한 이유 중 하나는 패키지 설치입니다.
패키지 설치는 터미널에서 pip
명령어(venv 사용) 혹은 conda
명령어 (Conda 사용) 로 진행하는데요.
이전엔 패키지 설치를 위해 터미널에 다음과 같은 명령어를 입력해 수동으로 가상환경을 활성화해야 했습니다.
venv
:source .venv/bin/activate
Conda/Mamba
:conda activate ./.conda/envs/default
(가상 환경 이름에 따라,default
가 아닐 수도 있습니다.)
현재는 Vscode가 자동으로 가상환경을 인식해서 새 터미널을 만들 때마다 알아서 활성화해줍니다. 다음의 설정만 해주면 됩니다. 명령 팔레트에서 설정(UI) 를 검색해 창을 엽니다.
설정 검색창에 python terminal
을 입력하면, 아래와 같은 항목들이 나타납니다.
Activate Env In Current Terminal 과 Activate Environment, 이렇게 2가지 설정을 체크해줍니다.
사용자, 작업 영역 모두 해주면 됩니다.
이제 파이썬 파일로 돌아가 새로운 터미널을 열면, 현재 가상환경의 인터프리터를 자동으로 활성화합니다.
새 터미널은 .py
로 끝나는 파이썬 파일에서 열어줘야 Vscode가 잘 인식합니다.
이제 터미널에서, 현재 활성화된 가상환경에서만 사용하는 패키지를 설치할 수 있게 되었습니다.
5. Jupyter Notebook 활용
Microsoft에서 Jupyter Notebook(이하 노트북)을 익스텐션으로 지원하면서,
이제 브라우저를 열지 않아도 vscode 내에서 노트북을 활용할 수 있습니다.
Jupyter
익스텐션은 Python
익스텐션과 함께 설치됩니다.
혹시 설치를 안 했다면 Jupyter
로 검색 후 Microsoft가 지원하는 모든 익스텐션을 설치합니다.
이제 새 노트북을 만들겠습니다. 명령 팔레트에서 jupyter
를 검색해서 새 노트북을 만들어주세요.
새 노트북이 열리면, 현재 노트북의 커널을 설정해야 합니다.
커널은 노트북에 작성한 코드 블록의 코드를 실행하기 위해 대기하는 엔진입니다.
다음과 같이, 현재는 2가지 옵션이 있습니다,
만약 Vscode에 Docker
나 CodeSpace
같은 익스텐션을 설치하면 선택지가 늘어납니다.
Python 환경... 은 우리가 위에서 생성했던 가상 환경을 의미합니다.
가상환경을 선택하면 IPyKernal
패키지가 알아서 실행되어 커널을 시작합니다.
기존 Jupyter 서버... 는 이미 구동중인 서버가 있을 때 선택할 수 있습니다. 지금은 만들어둔 가상환경을 선택합니다.
정상적으로 완료되면, 노트북 오른쪽 상단에 커널 이름이 출력됩니다.
이제 pip
혹은 conda
로 필요한 패키지를 설치한 후, 노트북을 이용하면 됩니다.
6. 마치며
Vscode는 계속적인 공식 지원을 통해, 우리가 파이썬 개발을 쉽고 직관적으로 할 수 있도록 돕고 있습니다. 덕분에 Vscode에서 파이썬 개발을 처음 시작하더라도, 기본 설정부터 가상 환경 생성, 주피터 노트북 활용까지 어렵지 않게 따라할 수 있었습니다.
여기서 끝이 아닙니다. vscode는 파이썬 개발 과정에서 수많은 작업을 대신해주기 위해 기다리고 있습니다. 항상 개발하면서 내가 사용하는 IDEA의 기능에도 관심을 가지면, 그 노력이 개발 생산성 향상으로 돌아올 것입니다. 저도 지속적으로 정리해서 올려보겠습니다.