본문 바로가기
프로그래밍 팁/Python

파이썬(Python) 가상 환경(Virtual Environments, venv) 10초 만에 만들기

by Archivers 2020. 11. 20.

 

 

파이썬에서는 가상 환경이라는 것을 만듦으로써 프로젝트마다 독립된 실행/개발 환경을 생성할 수 있습니다. 가령 pip을 통해서 패키지를 설치할 때, 가상 환경을 분리하게 되면 불필요한 패키지가 설치되는 것을 방지할 수 있고 꼭 필요한 패키지만 설치되게 할 수 있습니다. 한 마디로, 전역적으로 설치되는 패키지를 프로젝트 단위로 관리할 수 있게 됩니다.

 

생성 방법

터미널을 실행하고 cd 명령어를 통해 가상 환경을 생성할 프로젝트 디렉터리에 진입합니다.

그 후, 다음 명령어를 실행합니다.

python3 -m venv .venv

위 명령어는, Python 3의 venv라는 모듈을 사용해서 .venv라는 디렉터리에 가상 환경 파일들을 생성해서 담겠다는 의미입니다. 디렉터리 앞에 온점(.)이 붙었으므로 유닉스 계열의 OS에서는 해당 디렉터리를 숨김 처리하겠다는 의미이며, 일반적으로(관습적으로) .venv라는 이름을 많이 쓰기 때문에 특별한 이유가 없는 한 프로젝트마다 해당 이름을 사용하면 됩니다. 

 

실행 방법

다음 명령어를 실행하면 됩니다. (파이썬 개발 환경으로 Visual Studio Code를 사용 중이라면, 프로젝트를 오픈하고 내부 터미널을 실행했을 때 자동으로 가상 환경이 실행되기도 합니다.)

source .venv/bin/activate

실행하면 터미널 라인마다 앞에 (.venv)라는 이름이 붙기 때문에 가상 환경을 실행 중인지 아닌지 쉽게 알 수 있습니다. 이제부터는 python이나 pip을 터미널에서 실행 시 독립적인 환경에서 실행되기 때문에 pip list 명령어를 실행해 보면 기존에 전역적으로 사용하던 패키지 목록과 달라진 것을 알 수 있습니다. 이제 프로젝트마다 각기 다른 패키지를 설치함으로써 프로젝트마다 패키지를 분리하는 것이 가능해졌습니다.

 

가상 환경을 해제할 때는 다음의 명령어를 입력하면 됩니다.

deactivate

 

추가 팁

프로젝트는 일반적으로 Git을 통해 관리되기 때문에 .venv까지 Git 인덱스 내에 포함됩니다. 그런데 가상 환경 파일들이 담긴 디렉터리는 사용 중인 머신마다 구성 방식이 달라질 수 있으며, 굳이 패키지에 연관된 파일까지 커밋할 필요가 없기 때문에 일반적으로 Git에 포함시키지 않습니다. 따라서 .gitignore 파일에 .venv라는 라인을 한 줄 추가해 줌으로써 Git 인덱스에서 제외해 줄 필요가 있습니다.

댓글