Language/Python

[Python] 파이썬 가상환경

개발기록자 2023. 5. 11.

파이썬은 다양한 분야에서 활용되는 인기 있는 프로그래밍 언어입니다. 하지만 프로젝트마다 필요한 라이브러리의 종류와 버전이 달라질 수 있기 때문에 여러 개의 프로젝트를 진행할 때 라이브러리의 충돌이 발생할 수 있습니다. 

 

이러한 문제를 해결하기 위해 가상환경(Virtual Environment)이라는 개념이 도입되었습니다. 가상환경은 하나의 시스템에서 여러 개의 프로젝트 환경을 독립적으로 사용할 수 있습니다. 이번 글에서는 파이썬의 가상환경에 대해 알아보겠습니다.


가상환경이란?

가상환경은 개발자가 프로젝트를 독립적으로 개발하기 위해 사용하는 환경입니다. 각 프로젝트마다 필요한 라이브러리와 버전 등을 독립적으로 관리할 수 있어서, 다른 프로젝트와 충돌 없이 라이브러리를 사용할 수 있습니다.


가상환경을 사용하는 이유

파이썬의 라이브러리는 수많은 종류와 버전이 있기 때문에, 다른 프로젝트에서 사용하는 라이브러리와 버전이 충돌할 수 있습니다. 이를 방지하기 위해 가상환경을 사용하면 각각의 프로젝트에서 필요한 라이브러리와 버전을 독립적으로 관리할 수 있습니다.

 

글로벌 환경과 가상 환경


가상환경 라이브러리

파이썬에서 가상환경을 생성하여 라이브러리를 관리할 수 있도록 도와주는 도구들이 여러 개가 존재합니다. 그중 자주 사용되는 가상환경 라이브러리 몇 가지를 알아보겠습니다.

venv

파이썬에 내장된 가상환경 라이브러리로 별도의 설치 없이 사용할 수 있습니다. 파이썬 표준 라이브러리에 들어가 있습니다. 파이썬3.3부터 사용할 수 있으며 파이썬2는 지원하지 않습니다. virtulaenv의 일부분을 가져가서 만든 모듈입니다.

 

virtualenv

파이썬 표준 라이브러리에는 포함되어 있지 않지만, venv와 비슷하지만 보다 더 많은 기능을 제공하고 더 유연하게 사용할 수 있습니다. 또한 파이썬2에서도 사용할 수 있습니다. 표준 라이브러리가 아니기 때문에 별도의 설치가 필요합니다.

 

pipenv

pipenv는 pip과 virtualenv의 기능을 사용할 수 있는 가상환경 라이브러리입니다. pipenv는 pipfile과 pipfile.lock라는 두 가지 파일을 생성하여 라이브러리와 의존성을 관리합니다. lock에서 자동 해시로 안전한 버전 관리가 가능합니다. 그리고 패키지 설치 시 자동으로 pipfile에 변경사항이 반영됩니다.


가상환경을 만드는 방법

가상환경을 생성할 때는 다양한 라이브러리 중 하나를 선택하여 생성하면 됩니다. 가상환경 라이브러리 중 venv를 사용하여 가상환경을 만들어보겠습니다.


가상환경 생성

터미널을 열고 프로젝트를 저장할 디렉터리로 이동한 후, 다음 명령어를 입력합니다.

# python -m venv [가상환경이름]
python -m venv myvenv


가상환경 활성화

가상환경이 생성되었다면 다음 명령어를 입력하여 가상환경을 활성화합니다.

# source [가상환경이름]/bin/activate
source myvenv/bin/activate

 

가상환경 비활성화

가상환경을 사용을 완료하였다면 다음 명령어를 입력하여 가상환경을 비활성화합니다.

deactivate

이번 글에서는 파이썬의 가상환경에 대해 알아보았습니다. 가상환경을 사용하면 프로젝트 간 의존성 문제를 해결할 수 있으며, 독립적인 파이썬 환경을 구성하여 필요한 라이브러리를 설치하고 관리할 수 있습니다. 

 

그리고 venv를 사용하여 가상환경을 만드는 방법에 대해서도 알아보았습니다. 하지만 가상환경을 만드는 방법은 venv뿐만 아니라 다른 라이브러리를 사용해도 가능하기 때문에 원하는 라이브러리를 선택하여 사용하면 되겠습니다.

 

댓글