파이썬(Python)의 라이브러리 버전 관리를 용이하게 해주는 venv 모듈 기본 사용 방법에 대해 정리.
들어가며
다양한 파이썬 프로젝트를 접하다 보면 각 프로젝트 별로 사용된 라이브러리 패키지의 버전이 다른 경우가 다반사이다. 문제는 라이브러리 상위 버전이 하위 버전을 항상 커버해 주는 것이 아니기 때문에 무조건적인 최신 업데이트가 능사가 아니라는 점에서 발생하게 된다.
venv란?
그로 인해 프로젝트 별 라이브러리 버전 관리를 고민하게 되는데, 파이썬 3.3부터는 venv 모듈이 기본 모듈로 도입되어 해당 문제를 해결할 수 있도록 도와준다. venv은 별도의 가상 환경을 만들어 선택된 가상 환경에 따라 구분된 라이브러리 버전을 설치 및 사용할 수 있도록 해 주는 모듈이다.
venv 사용 방법
그럼 venv를 통해 가상 환경을 구축하고 그것을 활용하는 방법에 대해 알아보자.
가상 환경 만들기
python -m venv 가상환경이름
윈도우의 cmd나 맥의 터미널에서 위 커맨드를 입력하면 가상 환경이 만들어진다.
가상 환경을 만들면 커맨드를 실행한 디렉토리의 하위에 가상환경 이름과 동일한 이름의 디렉토리가 생성되는데, 가상 환경에 필요한 내용들이 저장된다. 따라서 프로젝트 별로 가상 환경을 달리하고 싶다면 프로젝트 폴더에서 커맨드를 입력하면 된다.
가상 환경 활성화
call 가상환경이름/Scripts/activate
생성된 가상 환경에서 작업하기 위해서는 가상 환경을 활성화해야 한다. 윈도우 환경에서는 위와 같이 그리고...
source 가상환경이름/Scripts/activate
맥과 리눅스 환경에서는 위와 같이 커맨드를 입력하면 된다.
입력을 마치면 위와 같이 디렉토리 경로 앞쪽으로 괄호와 함께 가상 환경 이름이 표시된다. 정상적으로 활성화된 것이다. 참고로 여기서 사용된 가상 환경 Env_AnimeGan은 AnimeGANv3 프로젝트만을 위한 것으로 프로젝트 디렉토리 내부에 위치하도록 해 주었다.
가상 환경이 활성화되었다면 이제 원하는 대로 라이브러리 패키지를 설치하고 작업을 진행하면 된다.
가상 환경 비활성화
다음은 가상 환경을 비활성화하기 위한 커맨드이다.
deactivate
프롬프트 경로 앞의 괄호가 사라지고 다시 글로벌(공용) 환경으로 돌아온다. 이때 pip list라고 입력해 보자. 그러면 가상 환경에서 설치했던 것들이 글로벌 환경에는 적용되지 않은 것을 확인할 수 있다.
가상 환경 삭제
더 이상 필요 없거나 잘못 관리된 가상 환경을 삭제하고 싶을 때는 가상 환경 폴더만 삭제해 주면 된다. 위의 경우 탐색기(윈도우)나 파인더(Finder)에서 Env_AnimeGan 폴더만 삭제해 주면 되는 것이다. cmd나 터미널을 통해 삭제하려면 다음과 같이 입력해 주자.
rmdir /s /q 가상환경이름
위는 윈도우의 경우이다.
rm -rf 가상환경이름
위는 맥과 리눅스의 경우이다.