본문 바로가기
Software/Python

Python Virtual Environment(Virtualenv) 사용하기

by lovey25 2021. 6. 29.
반응형

개요

Virtualenv(Virtual Environment)는 서로 다른 프로젝트들이 각각의 의존성을 보존할 수 있도록 프로젝트 개발환경을 분리시켜주는 도구입니다.

이런 도구가 필요한 이유는 다음과 같습니다. 진행 중인 프로젝트가 2가지가 있는데 두 프로젝트에서 동일한 라이브러리를 사용한다고 예를 들어보겠습니다. 그런데 A라는 프로젝트는 라이브러리 버전 1.1에 호환성이 있어서 1.1 버전을 사용하고 있었습니다.  하지만 B라는 프로젝트는 1.3 버전의 호환성이 필요합니다. 이런 경우, Python의 site-package폴더가 버전별로 관리가 안되기 때문에 A 프로젝트 작업을 하다가 B 프로젝트 작업을 하려면 원래 깔려있던 1.1 버전의 라이브러리를 1.3으로 업그레이드가 필요합니다. 그리고 반대로 다시 A 프로젝트 작업을 위해서는 1.1 버전으로 다운그레이드가 필요하죠.

이럴 때 각 프로젝트를 개발하는데 필요한 모든 파일들을 모아서 한 폴더에 넣고 관리할 수 있게 해주는 도구가 Virtualenv이고 가상 환경은 필요한 경우 얼마든지 만들고 삭제할 수 있습니다.

Virtualenv 설치

virtualenv는 pip로 간단히 설치할 수 있습니다

pip install virtualenv
OR
py -3.8 -m pip install virtualenv
OR
\파이썬\설치\경로\python -m pip install virtualenv

여기서 만약 사용하는 Python의 버전이 다양하다면 위 명령어 중 두 번째 혹은 세 번째를 사용하면 되는 데 사용하고자 하는 파이썬 런처로 버전을 지정하거나 설치된 경로의 python.exe를 직접 선택해서 virtualenv를 설치하면 되겠습니다.

가상 환경 생성과 제거

가상 환경을 만드는 방법은 virtualenv 명령어 뒤에 만들고자 하는 가상 환경의 이름만 추가해주면 됩니다.

virtualenv venv_1
OR
py -3.8 -m virtualenv 가상환경_이름
OR
\파이썬\설치\경로\python -m virtualenv 가상환경_이름

그리고 파이썬의 특정 버전의 가상 환경을 만들고 싶은 경우는 설치와 마찬가지로 사용하고자 하는 파이썬 버전에 따라서 선택해서 사용하면 되겠습니다.

3.8.10버전은 venv_1로 3.8.9버전은 env_2로 만들었습니다.

가상 환경이 만들어지면 해당 위치에 아래와 같이 지정한 이름의 폴더와 함께 python개발에 필요한 모든 파일이 생성됩니다.

이렇게 가상 환경은 폴더로 관리되기 때문에 필요 없는 가상 환경을 제거하고 싶다면 그냥 그 폴더를 삭제하면 됩니다.

가상 환경 사용하기

이제 만들어진 가상 환경에서 작업하는 방법입니다.

만들어진 가상 환경 폴더 아래에 "Scripts"라는 폴더에 있는 "activate"라는 스크립트를 실행시켜주면 가상 환경이 활성화됩니다. 그리고 터미널의 현재 경로 앞에 "(venv_1)"라는 표시가 추가되면서 지금은 가상 환경 안에서 동작중임을 표시해주고 있습니다. 그리고 "deactivate"라는 스크립트로 가상 환경에서 빠져나올 수 있습니다.

위 사진에서 venv_1이라는 환경에서와 venv라는 환경에서 파이썬 버전이 서로 다른 것을 확인할 수 있습니다.

그리고 VSCode에서는 자동으로 가상 환경을 인식하기 때문에 인터프리터를 선택해 주기만 하면 됩니다.

 

끝!

반응형

댓글