ᐧ༚̮ᐧ Data Science | AI/Python

[파이썬, conda] 가상 환경이란? (feat. 가상환경 생성, 활성화, 삭제)

Letter_B 2024. 11. 16. 08:36
728x90
반응형

 

가상 환경은 프로젝트별 라이브러리를 분리하여 서로 간의 충돌을 방지하는 데 필수적인 도구이다. 예를 들어, 하나의 프로젝트는 `numpy==1.21`이 필요하고 다른 프로젝트는 `numpy==1.19`를 요구하는 상황에서, 잘못된 버전이 설치되면 특정 함수가 누락되거나 코드 실행 중 오류가 발생할 수 있다. 가상 환경은 이러한 충돌을 방지할 수 있다.

가상 환경이란 무엇인가요?

가상 환경은 특정 프로젝트에 필요한 Python 실행 파일과 라이브러리를 독립적으로 보관하는 디렉터리입니다. 이를 통해 프로젝트 간의 충돌을 방지하고 효율적으로 작업할 수 있는 환경을 제공한다.


- 프로젝트 간 의존성 충돌 방지
- 특정 환경을 재현하여 테스트 과정 단순화
- 개발, 테스트, 운영 환경 간 일관성 유지

 

Conda를 사용하는 이유

Conda는 데이터 과학과 소프트웨어 개발에 사용되는 패키지 및 환경 관리 도구이다. Python과 R을 포함한 여러 언어의 라이브러리와 시스템 의존성을 효율적으로 설치하고 관리할 수 있는 플랫폼입니다.

 

https://benn.tistory.com/26

 

[Python] 아나콘다 (Anaconda) 다운로드 및 설치하기 feat. 주피터 노트북, 파이썬/콘다 버전 확인

아나콘다 Anaconda 아나콘다 (Anaconda)는 파이썬을 포함한 데이터 과학에 필요한 다양한 언어 및 패키지의 배포입니다. 프로젝트마다 다른 환경을 만드는데도 편리하고 환경마다 필요한 패키지를

benn.tistory.com

 

 

Conda 외에도 가상 환경 생성을 위한 도구가 여러 가지 있다:
- venv: 표준 Python 설치와 함께 제공되는 가벼운 가상 환경 생성 모듈로, 간단하고 가벼운 환경이 필요하거나 순수 Python 프로젝트를 다룰 때 추천.
- virtualenv: Python 2 또는 더 복잡한 가상 환경 설정이 필요한 경우 적합
- pipenv: 의존성 관리와 가상 환경 설정을 한 번에 처리하려는 경우 사용

- conda: Python뿐만 아니라 파이썬 외 라이브러리(C, Fortran 등)도 관리 가능한 다목적 도구로, 데이터 과학, 머신러닝, 복잡한 의존성이 있는 프로젝트에 적합. Anaconda 또는 Miniconda 사용자에게 특히 추천.

 

Conda로 가상 환경 설정하기

Conda를 사용하여 가상 환경을 생성하고 관리하는 방법을 단계별로 알아보겠습니다.

1. Conda 설치

아직 Conda를 설치하지 않았다면 miniconda 또는 anaconda를 다운로드하여 설치한다.

Miniconda는 Conda와 Python만 포함하는 가벼운 옵션이며, Anaconda는 데이터 과학 패키지가 미리 설치된 플랫폼이다.

2. 가상 환경 생성

터미널 (프롬프트)에 다음 명령어를 사용하여 가상 환경을 생성한다:

conda create --name myenv python=3.9



여기서:

  • myenv: 생성할 환경의 이름. 프로젝트/목적에 대한 정보를 담은 이름을 추천한다. (예를 들어, webscraping, image-classification 등등)
  • python=3.9 는 Python 버전을 지정

3. 환경 활성화
생성한 환경을 활성화하려면 다음 명령을 사용한다.

conda activate myenv



활성화된 환경의 이름이 명령 프롬프트에 표시되며 (괄호로 뜨는 걸 확인할 수 있다), 해당 환경 내에서 작업 중임을 나타낸다.



4. 패키지 설치
환경이 활성화된 상태에서 프로젝트에 필요한 패키지를 설치하세요. 예를 들어:

 

conda install numpy



5. 환경 목록 확인
다음 명령으로 모든 conda 환경을 확인 할 수 있다. 시스템에 설정된 모든 환경과 경로를 나열해 준다.

 

conda env list



6. 환경 비활성화

 

현재 환경을 비활성 하는 명령. 이 명령은 기본(base) 환경으로 돌아갑니다.

conda deactivate

 

 

 

7. 환경 제거

더 이상 필요하지 않은 환경을 삭제하려면 다음 명령을 사용하면 된다. 지정된 환경과 관련된 모든 패키지를 삭제한다.

conda remove --name myenv --all

 

 

8. 환경 파일 활용

환경 구성을 YAML 파일로 저장하여 쉽게 공유하거나 복원할 수 있다. 특히, 그룹 프로젝트에서 동일한 환경을 팀원들과 공유하거나, 특정 환경을 재현해야 하는 상황에서 매우 유용하다.

 

아래 명령어로 환경 구성을 environment.yml 파일로 저장할 수 있다.

conda env export > environment.yml

 

아래 명령어로 손상된 환경을 복구하거나 다른 시스템에서 동일한 환경을 설정할 수 있다.

conda env create -f environment.yml
728x90
반응형