[파이썬] 가상 환경 설정 파일 (requirements.txt, environment.yml) 사용하기

가상 환경은 파이썬 프로젝트를 개발하거나 실행하기 위해 필요한 모든 패키지와 의존성을 따로 관리하는 것입니다. 가상 환경을 설정함으로써 프로젝트 간의 충돌을 피하고 패키지 버전 관리를 용이하게 할 수 있습니다.

파이썬 가상 환경을 설정하는 가장 간단한 방법 중 하나는 requirements.txt 또는 environment.yml 파일을 사용하는 것입니다. 여기서는 이러한 설정 파일을 어떻게 작성하고 사용하는지 알아보겠습니다.

requirements.txt 파일 사용하기

requirements.txt 파일은 각 패키지와 해당 버전을 명시하여 가상 환경에 필요한 패키지들을 관리하는 텍스트 파일입니다. 아래는 requirements.txt 파일의 예시입니다:

numpy==1.19.5
pandas==1.2.4
matplotlib==3.4.2

이 예시에서는 numpy, pandas, matplotlib 패키지를 사용하며 각각의 버전을 명시하고 있습니다. requirements.txt 파일을 작성한 후, 가상 환경을 생성하고 해당 파일을 사용하여 패키지들을 설치할 수 있습니다:

$ python -m venv myenv
$ source myenv/bin/activate
(myenv) $ pip install -r requirements.txt

위 명령어를 통해 myenv라는 가상 환경을 생성하고, 해당 환경을 활성화한 뒤 requirements.txt 파일에 명시된 패키지들을 설치할 수 있습니다.

environment.yml 파일 사용하기

environment.yml 파일은 Conda 환경을 설정하는 데에 사용되는 텍스트 파일입니다. 아래는 environment.yml 파일의 예시입니다:

name: myenv
channels:
  - conda-forge
dependencies:
  - numpy=1.19.5
  - pandas=1.2.4
  - matplotlib=3.4.2

위 예시에서는 conda-forge 채널에서 numpy, pandas, matplotlib 패키지를 설치하며, 각각의 버전을 명시하고 있습니다. environment.yml 파일을 작성한 후, 가상 환경을 생성하고 해당 파일을 사용하여 패키지들을 설치할 수 있습니다:

$ conda env create -f environment.yml
$ conda activate myenv

위 명령어를 통해 myenv라는 가상 환경을 생성하고, 해당 환경을 활성화한 뒤 environment.yml 파일에 명시된 패키지들을 설치할 수 있습니다.

결론

가상 환경 설정 파일을 사용하여 파이썬 프로젝트의 패키지 관리를 효율적으로 할 수 있습니다. requirements.txt 파일을 사용하는 경우 pip를, environment.yml 파일을 사용하는 경우 conda를 이용하여 패키지들을 설치할 수 있습니다. 이를 통해 프로젝트 간 충돌을 최소화하고 의존성 관리를 용이하게 할 수 있습니다.