파이썬/개발TIP

아나콘다 가상 환경 설정 방법

코데방 2024. 4. 24.
728x90

아나콘다 가상 환경 설정 이유

 

프로젝트를 하다보면 다양한 패키지를 사용하게 되는데, 시점에 따라 패키지 버전이 달라질 수 있습니다. 

 

만약 아나콘다의 기본 환경인 Base에서 여러 프로젝트를 동시에 진행한다면 같은 패키지의 여러 버전이 충돌할 수 있다는 문제가 생깁니다.

 

혼자만 하면 있던 패키지를 그대로 사용하면 될 수도 있지만 만약 다른 사람이 짠 코드와 버전을 맞추다 보면 기존에 잘 돌아가던 코드가 안돌아갈 수도 있는 여러 가지 문제가 발생하게 됩니다. 


따라서 각 프로젝트 별 가상환경을 설정해 해당 프로젝트에서 사용하는 패키지를 별도로 관리해주는 것이 가장 안전한 방법이라고 볼 수 있습니다.

 

약간 불편한 점은 아나콘다 Base(기본환경)에서 그냥 불러다 쓸 수 있는 패키지들도 가장 처음에 한 번씩 꼭 설치를 해줘야 한다는 점인데, 이 또한 버전 관리가 되는 장점이 있고 딱 한 번만 설치해주면 되기 때문에 귀찮음보다는 장점이 훨씬 큽니다.

 

 

 

 

아나콘다 환경변수 등록하기

 

CDM 터미널에서 "conda" 명령어를 쓰기 위해서는 시스템 환경변수에 아나콘다의 경로가 등록돼 있어야 합니다.

 

1. 시작 버튼에서 "시스템 환경 변수 편집" 검색해 클릭

 

 

2. 우측 하단 "환경 변수" 버튼 클릭

 

 

 

3. "사용자 변수"의 "path" 더블클릭(또는 누르고 편집 버튼 클릭)

 

 

4. 아나콘다 설치 경로의 "가장상위폴더", "Library", "Scripts" 폴터 경로 세 개 등록해주기

 

4-1) 아나콘다 설치 경로 확인 : 일반적으로 "C\users\현재이름" 폴더 안에 있지만 혹시 없을 경우

   

- 시작버튼에서 "anaconda prompt" 검색 후 실행

 

 

- "where python" 명령어 입력 (첫 번째 위치)

 

 

4-2) 해당 경로의 세 위치를 아래와 같이 "새로만들기" 버튼을 눌러 등록 후 확인

 

 

 

4-3) 설정이 잘 됐는지 확인을 위해 CMD 창에서 "conda" 입력

 

아래와 같이 커맨드 리스트가 쭉 뜨면 잘 설정됐다고 보면 됩니다.

 

 

 

 

 

아나콘다 가상환경 생성하기

 

아래와 같이 명령어를 통해 생성할 수 있습니다. 버전정보 입력하지 않으면 Base의 버전과 동일하게 생성됩니다.

conda create -n 가상환경이름 # Base 버전과 동일하게 생성
conda create -n 가상환경이름 python=버전 # 원하는 버전으로 생성

 

 

중간에 계속 진행할거냐고 Proceed 여부를 물어보는데 "y"를 입력하고 엔터를 누르면 됩니다.

 

 

 

아나콘다 생성된 가상환경 목록 확인하기

 

아래 명령어를 입력하면 생성된 가상환경 리스트를 확인할 수 있습니다. 

conda env list

 

 

 

 

아나콘다 가상환경 삭제하기

 

아래 명령어를 입력합니다. 역시 진행할 때 Proceed 여부를 물어보면 "y"를 입력하고 엔터를 눌러주면 됩니다. 

conda env remove -n 가상환경이름

 

 

 

아나콘다 가상환경 활성화하기 및 활성화 에러 시 해결 방법

 

해당 가상환경에 패키지를 설치한다거나, 가상환경을 백업하려면 먼저 가상환경을 활성화해야합니다. 폴더에 접속해서 작업하는 것과 비슷한 느낌이라고 보면 됩니다. 아래와 같이 활성화해줍니다. 

conda activate 가상환경이름

 

 

 

그런데 혹시 아래와 같은 에러 메세지가 뜨면서 활성화 되지 않는 경우가 있습니다. 

 

 

usage: conda-script.py [-h] [--no-plugins] [-V] COMMAND ...
conda-script.py: error: argument COMMAND: invalid choice: 'avtivate' (choose from 'clean', 'compare', 'config', 'create', 'info', 'init', 'install', 'list', 'notices', 'package', 'remove', 'uninstall', 'rename', 'run', 'search', 'update', 'upgrade', 'build', 'content-trust', 'convert', 'debug', 'develop', 'doctor', 'index', 'inspect', 'metapackage', 'render', 'skeleton', 'server', 'repo', 'verify', 'pack', 'env', 'token')

 

 

혹시 파워쉘 터미널이 켜져 있으면 CMD 터미널로 바꿔서 실행해보고, 그래도 안되면 아래 명령어를 입력해 shell function이 등록되도록 해줍니다. 

 

 

 

그리고나서 터미널을 모두 껐다 키면 잘 작동되는 것을 확인할 수 있습니다. 혹시 안되면 아예 컴퓨터를 껐다 켜보는 것도 좋은 방법일지도..ㅎㅎ

 

 

 

아나콘다 가상환경 백업 및 복원하기

 

그냥 remove로 지워버리면 복원이 안된다고 합니다. 따라서 지우기 전에 백업해두면 좋습니다.

 

먼저 백업할 가상환경을 활성화해줍니다. 혹시 에러나면 위의 과정을 통해 활성화 명령이 입력되도록 작업해 줍니다. 

 

conda activate 가상환경이름

 

 

 

해당 가상환경을 백업해줍니다. 

conda env export > 파일이름.yml # 현재 경로에 저장
conda env export > 저장경로\파일이름.yml # 절대 경로에 저장

 

 

아래와 같이 파일이 생성돼 있는걸 확인할 수 있습니다.

 

 

 

복원은 Base 프롬프트에서 아래 명령어를 치면 됩니다. 

 

먼저 가상환경이 활성화 돼있다면 비활성화를 해줍니다.

conda deactivate

 

 

 

이 상태에서 아래와 같이 가상환경 생성명령과 함께 백업 파일 위치를 넣어줍니다.

conda env create -f 파일위치\파일명.yml

 

 

 

시간이 좀 걸리지만 잘 복원된걸 확인할 수 있습니다. 

 

 

 

 

위 명령어로 복원할 경우 포함된 패키지를 자동으로 설치해줍니다. 만약 제외하고 싶은 패키지가 있다면 파일에서 삭제하거나 주석처리를 해서 설치되지 않도록 해줍니다. 

 

 

 

그리고 만약 아나콘다의 경로가 변경됐다면 가장 밑에 있는 prefix 경로를 새로운 경로에 맞게 수정도 해줘야합니다. 

728x90

댓글

💲 추천 글