대원의 블로그

[가상환경] Anaconda를 이용하여 가상환경 만들기 본문

개발/환경 설정

[가상환경] Anaconda를 이용하여 가상환경 만들기

NDAEWON 2024. 10. 11. 19:24

가상환경을 사용하는 이유

여러가지 프로젝트를 하다 보면, 수많은 패키지를 설치하게 되고, 프로젝트가 종료된 이후 오랜만에 프로젝트를 작동하다 보면 버전이 그 사이에 달라져서 애먹는 경우가 생긴다.

이를 방지하기 위해서는 가상환경을 사용해야 한다.

가상환경을 사용하게 되면

  • 누군가에게 프로젝트를 공유할 때, 설치된 버전들과 함께 넘겨주면 바로 실행 가능함
  • 프로젝트 간에 버전이 충돌할 일이 없음.

따라서, 주변 친구들한테 물어본 결과 Anaconda를 이용하여 가상환경을 쓰면 좋다는 말을 듣고 Anaconda를 설치하게 되었다.

 


Anaconda 설치

Anaconda를 설치하기 위해서는 Anaconda 다운로드에 가서 설치하면 된다. 중간에 설치하면서 크게 어려울 건 없고 환경 변수에 포함되게 하는 항목에 체크를 했다.

(다운받아 보면 환경변수에 path라는 이름으로 환경 변수가 추가된 것을 확인할 수 있다.)

 


가상환경 기본 세팅

가상환경 만들기

그러면 이제 가상환경을 만들어야 하는데, 우선 Anaconda Prompt를 열어준다.

가상환경을 만드는 코드

conda create -n 가상환경이름
conda create -n 가상환경이름 python=버전
conda create -n 가상환경이름 python=버전 anconda

뒤에 anaconda를 붙이게 되면 Anaconda에서 지정해주는 기본 패키지를 설치해준다.


(base) C:\Users\daewo>conda create -n test1 python=3.11.0
Retrieving notices: ...working... done
Channels:
 - defaults
Platform: win-64
Collecting package metadata (repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: C:\Users\daewo\anaconda3\envs\test1

  added / updated specs:
    - python=3.11.0


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    pip-24.2                   |  py311haa95532_0         3.0 MB
    python-3.11.0              |       h966fe2a_3        17.9 MB
    setuptools-75.1.0          |  py311haa95532_0         2.2 MB
    wheel-0.44.0               |  py311haa95532_0         173 KB
    ------------------------------------------------------------
                                           Total:        23.4 MB

The following NEW packages will be INSTALLED:

  bzip2              pkgs/main/win-64::bzip2-1.0.8-h2bbff1b_6
  ca-certificates    pkgs/main/win-64::ca-certificates-2024.9.24-haa95532_0
  libffi             pkgs/main/win-64::libffi-3.4.4-hd77b12b_1
  openssl            pkgs/main/win-64::openssl-1.1.1w-h2bbff1b_0
  pip                pkgs/main/win-64::pip-24.2-py311haa95532_0
  python             pkgs/main/win-64::python-3.11.0-h966fe2a_3
  setuptools         pkgs/main/win-64::setuptools-75.1.0-py311haa95532_0
  sqlite             pkgs/main/win-64::sqlite-3.45.3-h2bbff1b_0
  tk                 pkgs/main/win-64::tk-8.6.14-h0416ee5_0
  tzdata             pkgs/main/noarch::tzdata-2024b-h04d1e81_0
  vc                 pkgs/main/win-64::vc-14.40-h2eaa2aa_1
  vs2015_runtime     pkgs/main/win-64::vs2015_runtime-14.40.33807-h98bb1dd_1
  wheel              pkgs/main/win-64::wheel-0.44.0-py311haa95532_0
  xz                 pkgs/main/win-64::xz-5.4.6-h8cc25b3_1
  zlib               pkgs/main/win-64::zlib-1.2.13-h8cc25b3_1


Proceed ([y]/n)? y


Downloading and Extracting Packages:

Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
#     $ conda activate test1
#
# To deactivate an active environment, use
#
#     $ conda deactivate

이런식으로 설치가 가능하다.

 


지금까지 만든 가상환경 확인하기

그렇다면 어떤 프로젝트를 할 때마다 가상환경을 만들어야 하는데 그 리스트를 확인하는 방법은

conda env list

로 확인하면 된다.

(base) C:\Users\daewo>conda env list
# conda environments:
#
base                  *  C:\Users\daewo\anaconda3
test                     C:\Users\daewo\anaconda3\envs\test
test1                    C:\Users\daewo\anaconda3\envs\test1

기본적으로 활성화되는 base와 내가 추가로 만든 test, test1이 있는 것을 확인할 수 있다.


가상 환경 활성화/비활성화

활성화

<코드>

conda activate 가상환경이름

<예시>

(base) C:\Users\daewo>conda activate test1

(test1) C:\Users\daewo>

이런식으로 활성화를 시키면 앞에 base로 되어 있던것이 test1로 바뀐 것을 확인할 수 있는데, 이제 내가 파이썬 파일등을 돌리게 되면 저 가상환경에서 동작되는 것이다.


비활성화

<코드>

conda deactivate

<예시>

(test1) C:\Users\daewo>conda deactivate

(base) C:\Users\daewo>

비활성화한 결과 test1에서 base로 바뀐것을 확인할 수 있다.


가상환경 삭제

<코드>

conda env remove -n 가상환경이름

<예시>

(base) C:\Users\daewo>conda env remove -n test1

Remove all packages in environment C:\Users\daewo\anaconda3\envs\test1:

Everything found within the environment (C:\Users\daewo\anaconda3\envs\test1), including any conda environment configurations and any non-conda files, will be deleted. Do you wish to continue?
 (y/[n])? y


(base) C:\Users\daewo>conda env list
# conda environments:
#
base                  *  C:\Users\daewo\anaconda3
test                     C:\Users\daewo\anaconda3\envs\test

 


추가 명령어

가상환경을 열게 되었으면 이제 가상환경에 우리가 필요한 것을 설치해줘야 한다.

pip install 패키지명
pip install 패키지명==버전

혹은

conda install 패키지명
conda install 패키지명==버전

으로 설치할 수 있고, 어떤 것이 어떤 버전으로 설치가 되었는지 확인하기 위해선

pip list

혹은

conda list

를 사용하면 확인할 수 있다.

 


가상환경을 다른 사람들과 쉽게 공유하는 법

가상환경을 사용하는 이유가 프로젝트의 버전을 관리하기 위함이라고 했다. 그렇다면 다른 사람의 노트북에서도 바로 버전을 적용해서 돌려야 시간을 절약할 수 있다 만에 하나, 하나씩 다운받는 다면 드는 시간이 너무 많게 된다.
그럴때 사용하는게 txt파일에 패키지들을 저장해놓고 한번에 설치를 하는 것이다.
우선 pip,freezer 설치를 해준다.

conda install -c anaconda pip
pip install freezer

freeze를 사용하여 특정 txt에 버전을 저장한다.

pip freese >version1.txt
pip install -r version1.txt #verison1을 가상환경에 설치

이것을 사용해보면 다음과 같다.


pyserial만 설치해서 그렇지 나머지 패키지도 설치했다면 그 버전을 모두 확인할 수 있을 것이다.

 

주의사항: freeze는 가상환경 안에서 실행하기