파이썬

VScode 파이썬 가상환경 만들기

caramel-bottle 2024. 3. 27.

안녕하세요 카라멜보틀입니다.

 

이번 포스팅은 VScode로 파이썬 가상환경을 설정하는 방법을 다룰 것입니다.

 

파이썬 가상환경은 사용할 라이브러리와 버전들을 프로젝트별로 다르게 설정하고 싶을 때 사용합니다.


VScode 열기

먼저 VScode를 실행해줍니다.

 

그다음 작업할 프로젝트 폴더를 생성해줍니다.

 

(혹은 본인이 가상환경을 만들고 싶은 폴더로 vscode를 여시면 됩니다.)

 

터미널을 열어줍니다.


venv란?

venv란 파이썬 3.3버전부터 기본적으로 제공하는 라이브러리로, 가상환경을 제작하는 데에 사용됩니다.

 

"python -m venv <가상환경이름>" 가상환경 만드는 명령어입니다. <가상환경이름>은 임의로 설정할 수 있습니다. 현재 디렉토리에 생성하고 싶다면 이름만 적고, 특정 경로에 생성하고 싶다면 앞에 경로를 추가해야합니다.

 

참고로 mac을 사용하시면 "python3 -m venv <가상환경이름>"

 

예) python -m venv /path/to/new/virtual/environment 

예) python3 -m venv /path/to/new/virtual/environment 

 

venv는 여러가지 옵션을 제공합니다. 아래 명령어로 옵션들을 확인할 수 있습니다.

$ python -m venv -h


가상환경 venv 만들기

이제 명령어를 사용하여 venv를 만들어보겠습니다. 현재 디렉토리에 생성할 것이고 이름은 그냥 venv로 하겠습니다.

$ python -m venv venv

 

그럼 해당 디렉토리에 venv라는 디렉토리가 생성된 것을 확인할 수 있습니다.

 

이제 가상환경 생성이 끝났습니다.


가상환경 activate 여부 확인하기

sys.prefix와 sys.exec_prefix는 가상 환경의 디렉터리를 가리킵니다.

sys.base_prefix와 sys.base_exec_prefix는 가상 환경을 생성하는 데 사용된 기본 Python의 디렉터리를 가리킵니다. 

 

현재 인터프리터가 가상 환경에서 실행 중인지 확인하려면 sys.prefix != sys.base_prefix를 확인하면 됩니다.

Terminal

VScode

터미널에서는 venv 활성화 여부를 명령어 없이 바로 확인할 수 있습니다.

 

가상환경 활성화 후에 차이를 비교해보겠습니다.


가상환경 활성화

가상환경 활성화 명령어는 다음과 같습니다.

저는 mac이기 때문에 맨 위의 명령어를 사용하겠습니다.

$ source venv/bin/activate

위 명령어를 실행하게 되면 앞에 (venv)가 붙게 됩니다. 터미널에선 이처럼 직관적으로 현재 가상환경인지 아닌지를 확인할 수 있습니다.

* 비활성화는 deactivate입니다.

Terminal

VScode

 

그런데 당연하게도 VScode는 가상환경 활성화가 아직 안 되었습니다. VScode에서 가상환경을 활성화 해봅시다.

 

맥의 경우 command + shift + p 혹은 fn + F1

윈도우는 ctrl + shift + p 혹은 F1

을 누른 후 검색창에 Python Select Interpreter를 입력하여 선택합니다.

mac

./venv/bin/python

 

Window

.\venv\Scripts\python.exe

 

인터프리터를 설정하면 vscode에서 가상환경 활성화가 가능합니다.

 

이제 True가 됩니다!

 

ipynb에서 .venv 자동생성하기

만약 vscode에서 ipynb를 사용하고 있다면 쉽게 .venv를 생성할 수 있습니다.

 

우측 상단에 Python 3.10.11을 클릭합니다.

 

다른 커널 선택을 클릭합니다.

 

Python 환경을 선택합니다.

그럼 맨 위에 +Python 환경 만들기를 누르고 Venv를 선택하면 Python 인터프리터를 고르게 합니다.

사용하는 Python 버전을 선택하면 .venv를 자동으로 생성하게 됩니다.

 

.venv가 자동으로 생성된 것을 확인할 수 있습니다.

 

.ginignore까지 자동으로 생성해주네요.


마치며

지금까지 VScode에서 venv를 생성하는 방법을 알아봤습니다.

 

VScode 인터페이스상에서 가상환경을 활성화하는 것과 터미널에서 활성화하는 것을 따로 보셔야할 것 같습니다.

 

가상환경은 하나의 환경에서 여러 개발을 동시에 진행하는 경우 라이브러리 관리가 복잡해지니 꼭 필요하다고 생각합니다.

 

언제나 스스로 궁금한게 생기면 좋은 글 남겨보도록 하겠습니다.

 

혹시나 궁금한 부분이 있으시다면 댓글 남겨주세요!

 

댓글