본문 바로가기
파이썬 스터디/파이썬 팁

VSCode 파이썬 가상환경 쉽게 설정하기(Visual Studio Code / Python / venv)

by 잇포에듀 2021. 2. 24.
반응형

파이썬을 공부하다보니 필요에 따라 라이브러리를 설치를 종종합니다. 파이썬을 처음 설치할 때 최신 버전이 무조건 좋은 줄 알고 설치했더니 오히려 필요한 라이브러리가 설치되지 않는 경우들이 있어 적잖이 당황하기도 했습니다. 

 

얼마 전에 온라인으로 특강(?)을 듣던 중에 Visual Studio Code와 Python을 가지고 가상환경(venv)을 만들어 사용할 수 있다는 이야기를 듣고 정말 충격을 받았습니다. 개발하는 코드에 따라 다른 버전의 파이썬, 다른 종류의 라이브러리들을 셋팅해서 사용할 수 있다니요!! 실습하는 내내 감탄을 했습니다.

 

오늘은 VSCode와 파이썬으로 가상환경을 만드는 방법을 정리해보겠습니다. (까먹지 않기 위해!!)

 


작업 영역 폴더 생성하고 VSCode로 열기

작업할 폴더를 생성하고 VSCode로 열어줍니다. VSCode를 실행하고 [파일] > [폴더 열기] 또는 단축키 Ctrl+K Ctrl+O를 이용하여 작업하기 위해 만든 폴더를 선택합니다.

 


콘솔창을 열고 가상환경 구성하기

Ctrl + `를 눌러 콘솔창(터미널)을 열어줍니다. 화면 하단에 터미널 창이 열렸습니다. 제 화면에는 powershell이 열렸는데요 저는 이걸 cmd로 바꿔주었습니다. [1:powershell]이라고 되어 있는 부분을 누르면 기본 쉘 선택 메뉴가 나옵니다.

 

기본 쉘 선택 항목을 눌러주면 화면 상단에 기본으로 설정할 터미널 셀을 선택하라고 합니다. 저는 [Command Prompt  C:\Windows\System32\cmd.exe] 를 선택하여 윈도우 기본 터미널을 선택하였습니다.

 

이 과정이 꼭 필요한 것인지는 잘 모르겠고... 전 그냥 윈도우 기본 커맨드 창이 익숙해서 이걸 골랐네요...

 

터미널을 닫았다가 다시 열어주면 기본 쉘이 powershell에서 cmd로 바뀌어 있는 것을 볼 수 있습니다. 가상환경을 구성하기 위해 명령어를 입력해보겠습니다.

 

python -m venv venv

 

venv가 두 개 적혀있는데 앞에 있는 venv는 가상환경을 만들어주기 위해 실행하는 명령어이고 두 번째 venv는 생성할 폴더 이름입니다. 다른 이름으로 바꿔도 상관없습니다.

 

명령어를 입력하고 잠시 기다리면 새로운 폴더와 파일들이 자동으로 생성된 것을 확인할 수 있습니다. 

 


인터프리터(Interpreter) 설정

이제 이 가상환경에서 사용할 파이썬 인터프리터를 설정해보겠습니다. F1 또는 Ctrl+Shift+P를 누르면 화면 상단에 창이 하나 생기는 데, 거기에 Python Select Interpreter를 입력해서 선택합니다. 자동완성 기능이 있어 앞 부분을 입력하면 해당 항목을 선택할 수 있습니다.

 

그러면 인터프리터 목록이 표시됩니다. 파이썬이 여러 버전이 설치되어 있다면 버전별 파이썬이 모두 나타납니다. 그리고 특이한 것이 하나 있는데 바로 앞서 생성한 venv가 표시되는 것을 볼 수 있습니다.

 

조금전에 가상환경을 설정할 때 만들어진 폴더 안에 파이썬 파일이 들어가 있는 것 같습니다. 이걸 선택해줍니다.

 

 


가상환경(venv) 터미널 확인하기

인터프리터 설정까지 마쳤습니다. 그런데 특별한 변화가 느껴지지 않습니다.

 

터미널 화면 오른쪽에 + 버튼을 눌러봅니다. 그러면 새 터미널이 실행되는데 아까랑 커맨드 라인이 달라졌습니다. 경로 앞에 (venv)가 추가되어 있습니다. 이제 가상환경 설정이 완료되었습니다. VSCode를 종료한 후에 다시 실행하시면 같은 방법으로 가상환경을 불러오실 수 있습니다.

 

이 상태로 현재 진행중인 프로젝트에 맞게 라이브러리들을 설치하여 활용하면 됩니다. 다른 프로젝트에서 다른 환경이 필요하다면 그 프로젝트에 맞게 가상환경을 설정해주면 되겠지요~

 

여러 프로젝트가 동시에 진행될 때, 각 프로젝트별로 라이브러리들을 설정할 수 있어서 아주 편리한 기능입니다.

 

 

 

반응형

댓글