conda vs virtualenv 라이브러리 관리 비교
Page content
개요
- 파이썬에는 가상환경이 다양하게 존재한다.
- 이 중, conda와 virtualenv 가상환경에서 라이브러리 관리를 어떻게 하는지 비교를 해보도록 한다.
프로젝트 폴더 생성
- 폴더명은 virtualTest로 명명했다.
Conda
- 먼저 가상환경을 만들어본다.
conda create -n virtualTest python=3.10
- conda 가상환경에 접속하는 방법은 다음과 같다.
conda activate virtualTest
environment.yml
- 라이브러리 관리를 위해 아래와 같이 샘플 코드를 생성한다.
name: virtualTest
channels:
- defaults
dependencies:
- python=3.10
- numpy
- pandas
- pip:
- streamlit
- 실행 코드는 아래와 같다.
conda env create -f environment.yml
- 라이브러리 추가 설치를 한다.
conda install matplotlib
- 추가된 라이브러리를 추출한다.
conda env export > env_file.yml
- 파일을 확인하면 아래와 같이 복잡하게 나타난다.
- 따라서, 기존 파일에 주요 라이브러리를 추가하고 업데이트를 해준다.
conda env update --file environment.yml --prune
virtualenv
- 처음에만 virtualenv 라이브러리를 설치한다. (그 다음부터는 실행 안해도 된다.)
pip install virtualenv
- 가상환경을 생성한다.
virtualenv venv
- 가상환경에 접속한다.
source venv/Scripts/activate
- virtualenv에서는 requirements.txt 파일을 기억한다.
numpy
pandas
seaborn
- 라이브러리를 설치한다.
pip install -r requirements.txt
- 다른 라이브러리를 설치한다.
pip install scipy
- 그 이후에 다음 명령어를 통해 기존에 설치한 라이브러리를 확인한다.
pip freeze > req.txt
- 마찬가지로 requirements.txt에서 직접 관리하는 것이 더 좋다.