본문 바로가기

Development/Python

[Python] venv로 가상환경 관리하기

Intro

보통 머신러닝 프로젝트를 할 때 가상환경을 만들어서 프로젝트마다 Python Interpreter를 달리하여 진행한다. 프로젝트마다 필요한 패키지가 다르고 버전 호환 문제 등 여러 이유로 인해 가상환경을 구축하는 것이 일반적이다. Python을 사용하는 사람이라면 보통 Anaconda를 이용하여 패키지 관리나 가상환경 관리를 해봤을 것이다. 나 또한 처음에 데이터 분석 프로젝트를 할 때  Anaconda를 사용하여 개발환경을 구축했었다. 하지만, Anaconda에서 default로 설치되는 패키지들 중에는 내가 필요한 패키지 이외의 것들이 많이 포함되어 있어 무거운 느낌이 들었다. 좀 더 가볍고 깔끔한(?) 가상환경에서 작업을 하고 싶었던 터라 Python에서 기본으로 제공하는 venv를 이용하여 가상환경 관리를 해보기로 했다.   


가상환경 생성

해당 프로젝트 디렉토리로 이동한 후 가상 환경 생성

$ cd <프로젝트 경로>

$ python -m venv <가상환경이름>

나는 project2라는 폴더에 가상환경을 만들 것이고 가상환경의 이름은 .venv 로 생성했다.

그러면 project2 폴더안에 .venv폴더가 생성된다.(나는 숨김 폴더로 만들었으므로 Finder에선 안보인다.) 

.venv 폴더안에는 가상환경에 필요한 기본 파일들이 생성되어 있다. bin폴더안에 가상환경을 활성화시키는 activate파일이 들어있다.

bin폴더에 들어있는 파일

가상환경이 생성되었으면 이제 활성화시켜야한다.


가상환경 활성화

가상환경 활성화를 위해서는 bin안에 activate파일을 실행시키면 된다.

$. .venv/bin/activate

또는

$ source .venv/bin/activate

그러면 프롬프트앞에 (.venv) 가 나타나면서 가상환경이 활성화된 것을 확인할 수 있다.

가상환경이 활성화된 상태에서 pip install을 이용하여 프로젝트에 필요한 패키지를 설치하면 활성화된 가상환경에만 패키지가 설치된다.


가상환경 비활성화

가상환경 비활성화는 그냥 가상환경이 활성화된 상태에서 deactivate 하면 된다.

$ deactivate


가상환경 삭제

가상환경을 삭제하는건 간단하다. 단순히 가상환경 디렉터리를 삭제해주면 된다.

나는 숨김폴더로 생성했으므로 Finder에서는 삭제할 수 없으므로 명령어를 통해 삭제해준다.

$ rm -rf <가상환경 이름>


추가적으로 git을 이용하여 소스관리를 할 때 .venv 내용은 굳이 올릴 필요가 없으므로 .gitignore파일에 추가해준다.

$ echo '.venv' >> .gitignore

 

참고 블로그

 

파이썬에서 venv로 가상 환경 사용하기

Engineering Blog by Dale Seo

www.daleseo.com