가상환경(Virtual Environment)은 파이썬에서 독립적인 프로젝트를 위한 개별적인 공간을 말합니다. 여러 프로젝트를 진행할 때 각 프로젝트의 '의존성(dependencies)'과 '라이브러리(libraries)'를 구분하여 관리할 수 있게 해줍니다. 이를 통해 한 시스템에서 서로 다른 버전의 파이썬 라이브러리를 사용할 수 있습니다.
Conda는 파이썬 및 기타 프로그래밍 언어를 위한 오픈소스 패키지 관리 시스템이자 환경 관리 시스템입니다. 데이터 과학과 기계 학습 프로젝트에 유용하며, 특히 복잡한 데이터 과학 라이브러리를 쉽게 설치하고 관리할 수 있습니다.
Conda는 Anaconda 또는 Miniconda를 통해 설치할 수 있습니다. Anaconda는 데이터 과학에 필요한 많은 라이브러리를 포함하고 있는 반면, Miniconda는 더 가볍고 필요한 패키지만 설치할 수 있습니다.
가상환경을 만들고 사용하는 방법은 맥/리눅스와 윈도우에서 약간 다릅니다.
맥/리눅스:
# 가상환경 생성 (env_name은 가상환경 이름)
conda create --name env_name python=3.8
# 가상환경 활성화
conda activate env_name
윈도우:
# 가상환경 생성 (env_name은 가상환경 이름)
conda create --name env_name python=3.8
# 가상환경 활성화
activate env_name
Conda 명령어는 맥과 윈도우 모두에서 대부분 동일하게 작동합니다.
가상환경의 전체 목록을 확인하려면, 다음 명령어를 사용합니다.
conda env list
이 명령은 현재 설치된 모든 Conda 가상환경의 목록을 표시합니다.
특정 가상환경을 제거하려면, 아래 명령어를 사용합니다.
conda env remove --name env_name
여기서 env_name
은 제거하고자 하는 가상환경의 이름입니다.
Conda를 사용하여 특정 패키지를 설치하려면 다음과 같은 명령어를 사용합니다.
conda install package_name
package_name
은 설치하고자 하는 패키지의 이름입니다. 예를 들어, NumPy를 설치하려면 conda install numpy
라고 입력합니다.
현재 가상환경에 설치된 패키지 목록을 확인하려면, 다음 명령어를 사용합니다.
conda list
이 명령은 현재 활성화된 가상환경에 설치된 모든 패키지와 그 버전을 표시합니다.
conda env export > environment.yml
명령을 통해 가상환경을 yml 파일로 내보내 다른 시스템에서 동일한 환경을 재생성할 수 있습니다.Conda는 파이썬 가상환경 관리뿐만 아니라 복잡한 데이터 과학 프로젝트를 위한 강력한 도구입니다. 이를 통해 프로젝트의 효율성과 재현성을 높일 수 있습니다.
Venv (Virtual Environment)는 파이썬을 위한 가상 환경 생성 도구입니다. 파이썬 3.3 버전부터 표준 라이브러리에 포함되었으며, 개별 프로젝트에 독립된 파이썬 환경을 제공합니다. 이를 통해 서로 다른 프로젝트에서 다른 버전의 라이브러리를 사용할 수 있으며, 시스템의 파이썬 환경에 영향을 주지 않습니다.
Venv는 파이썬 3.3 이상 버전에 기본적으로 포함되어 있으므로 별도의 설치 과정이 필요하지 않습니다. 다음은 Venv를 사용하여 가상환경을 생성하고 활성화하는 방법입니다.
가상환경 생성 및 활성화:
# 가상환경 생성 (env_name은 가상환경 이름)
python3 -m venv env_name
# 가상환경 활성화 (맥/리눅스)
source env_name/bin/activate
# 가상환경 활성화 (윈도우)
env_name\Scripts\activate
활성화된 가상환경에서는 해당 환경에만 영향을 주는 라이브러리 설치, 업데이트, 제거 등의 작업을 수행할 수 있습니다.
다음은 Venv를 사용할 때 자주 쓰이는 명령어들과 그 사용법입니다.
활성화된 가상환경을 비활성화하려면, 다음과 같은 명령어를 사용합니다.
deactivate
이 명령은 현재 활성화된 가상환경을 비활성화합니다.
가상환경 내에서 특정 패키지를 설치하려면, 아래 명령어를 사용합니다.
pip install package_name
여기서 package_name
은 설치하려는 패키지의 이름입니다. 예를 들어, requests
패키지를 설치하려면 pip install requests
라고 입력합니다.
현재 가상환경에 설치된 패키지 목록을 확인하려면, 다음 명령어를 사용합니다.
pip list
이 명령은 현재 활성화된 가상환경에 설치된 모든 패키지와 그 버전을 표시합니다.
pip freeze > requirements.txt
명령으로 현재 환경의 패키지 목록을 저장하고, 다른 환경에서 pip install -r requirements.txt
명령으로 동일한 환경을 구축할 수 있습니다.Venv를 사용하면 파이썬 프로젝트의 의존성 관리가 간편해지며, 다양한 환경에서의 프로젝트 호환성을 보장할 수 있습니다. 이는 특히 개인 프로젝트나 소규모 팀 프로젝트에 매우 적합합니다.
파이썬 프로젝트에서 Conda와 Venv는 두 가장 인기 있는 가상환경 관리 도구입니다. 각각의 특징을 이해하고, 프로젝트의 요구사항에 맞게 선택하는 것이 중요합니다.
설치 및 관리:
환경 구성:
Conda:
Venv:
뤼얼 감사드립니다. 헷갈렷거든요..