Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python 가상 환경 완벽 가이드: virtualenv로 개발 환경 격리하기

Python으로 여러 프로젝트를 진행하다 보면 서로 다른 라이브러리 버전이 필요한 경우가 자주 발생합니다. 이럴 때 필수적인 기능이 바로 가상 환경(Virtual Environment)입니다. 이 글에서는 가상 환경의 개념부터 virtualenv를 사용한 생성, 활성화, 비활성화 방법까지 단계별로 살펴보겠습니다.

Python 가상 환경이란?

Python 가상 환경은 특정 프로젝트에 설치된 라이브러리, 패키지, 스크립트를 다른 프로젝트나 시스템 기본 Python 환경으로부터 분리해 주는 독립적인 실행 공간입니다.

개발자에게 가상 환경이 꼭 필요한 이유는 간단합니다. 프로젝트마다 요구하는 라이브러리와 의존성(dependency)이 다르기 때문입니다. 하나의 환경에 모든 패키지를 섞어 두면 버전 충돌이나 예기치 못한 오류가 발생할 수 있습니다.

가상 환경이 필요한 대표적인 상황

예를 들어, 두 개의 프로젝트가 동일한 라이브러리의 서로 다른 버전을 필요로 한다고 가정해 보겠습니다. 가상 환경 없이는 두 버전이 같은 디렉터리에 함께 존재하게 되어, Python이 어떤 프로젝트에 어떤 버전을 사용해야 할지 판단할 수 없습니다.

하지만 프로젝트마다 별도의 가상 환경을 만들면 각 프로젝트의 라이브러리 요구 사항이 서로 격리되므로 이런 문제를 깔끔하게 해결할 수 있습니다. 가상 환경은 원하는 만큼 여러 개 만들 수 있으며, 프로젝트 하나당 새로운 가상 환경을 하나씩 만드는 것이 일반적으로 좋은 습관입니다.

virtualenv 설치하기

가상 환경은 virtualenv라는 도구를 사용하여 만들 수 있습니다. 이 도구는 프로젝트마다 필요한 Python 패키지를 포함한 독립적인 환경을 구성해 줍니다.

먼저 virtualenv를 설치해야 하며, 이를 위해서는 pip가 미리 설치되어 있어야 합니다. 아래 명령어로 virtualenv를 설치합니다.

pip install virtualenv

설치가 정상적으로 완료되었는지 확인하려면 다음 명령어를 입력하세요. 시스템에 virtualenv가 성공적으로 설치되어 있다면 버전 정보가 출력됩니다.

virtualenv --version

가상 환경 생성하기

virtualenv가 설치되었다면 이제 프로젝트용 가상 환경을 만들 수 있습니다. 생성 방법은 매우 간단하며, 다음 명령어 한 줄이면 됩니다.

virtualenv environment_name

여기서 environment_name은 생성할 가상 환경의 이름으로, 원하는 이름을 자유롭게 지정할 수 있습니다. 명령어를 실행하면 해당 이름을 가진 디렉터리가 생성됩니다.

가상 환경 활성화하기

가상 환경을 생성한 후에는 이를 활성화(activate)해야 해당 환경을 실제로 사용할 수 있습니다. 활성화하려면 다음 명령어를 실행하세요.

$ source virtualenv_name/bin/activate

virtualenv_name 부분에는 활성화하려는 환경의 이름을 입력합니다. 활성화에 성공하면 터미널 좌측에 현재 사용 중인 환경의 이름이 표시됩니다.

활성화된 상태에서 필요한 라이브러리나 의존성을 설치하면, 그 패키지들은 다른 환경과 완전히 격리된 상태로 이 가상 환경에만 저장됩니다. 따라서 특정 작업이나 프로젝트 전용 환경을 안심하고 구축할 수 있습니다.

가상 환경 비활성화하기

해당 환경에서의 작업을 모두 마쳤다면 다음 명령어로 가상 환경을 비활성화(deactivate)할 수 있습니다.

(virtualenv_name)$ deactivate

이 명령어를 실행하면 더 이상 가상 환경이 적용되지 않고, 시스템의 기본 Python 환경으로 돌아갑니다. 프로젝트 작업을 다시 시작할 때는 언제든지 활성화 명령어를 통해 해당 환경에 다시 진입할 수 있습니다.