AI 탐구노트

[Anaconda] 가상환경 복제 및 export 하기 본문

기술 팁

[Anaconda] 가상환경 복제 및 export 하기

42morrow 2024. 10. 17. 10:12

궁금한 점

 

Anaconda를 사용해 가상환경을 만들어서 사용 중입니다. 새로 공개되는 모델들의 github repository의 내용을 테스트하다보면 모델이 실행되는 환경에 제각각이라는 것을 알 수 있는데, 그럴 때마다 새로운 가상 환경이 늘어나곤 합니다. 그런데... 어떤 것들은 패키지들 대부분은 비슷하고 일부만 다른 경우가 있죠. 그럴 때는 어떻게 하는지, 그리고 집에 있는 PC에서 구성한 환경을 회사 PC에 적용하고 싶을 때는 어떻게 하는지 등등 이런 것이 궁금해졌습니다. 

 

 

찾아보니

역시나 간단한 방법들이 있네요.

 

1.로컬에서 비슷한 패키지 구성을 가진 다른 가상환경이 필요할 때

 

새로운 가상 환경을 만들 대 '--clone'이라는 옵션을 적용하면 됩니다. 예를 들면 아래와 같이 말이죠.

$ conda create -n {새로 만들 conda env명} --clone {복제하고자 하는 conda env명}

 

 

2.집 PC의 가상환경을 회사 PC에 적용하고 싶을 때 

 

기존 가상환경 정보를 export할 수 있는 기능이 있었습니다. 

 

일단 집에서 다음과 같이 복제하고자 하는 가상환경 정보를 yaml 파일로 내보냅니다.

$ conda activate {복제하려는 env명}
$ conda env export > {복제하려는 env yaml 파일명}

 

 

이후 회사 PC에서 다음과 같이 가상환경 생성 시 이 파일을 사용합니다. 단, 보시다시피 이름을 지정하는 '-n' 옵션이 없는데, 이는 yaml 파일 내에 name 항목을 그대로 따라가니 이를 원하는 형태로 변경하고 진행합니다. 

$ conda env create -f {복제 env의 yaml 파일}
$ conda activate {새로 생성한 env명}

 

 

저는 처음에 Anaconda 환경을 사용하는 것이 너무 쉽고 편해서 좋았습니다. 그런데, 쓰다보니 제대로 알고 사용하지 않으면 이래저래 꼬이는 상황을 만나게 된다는 것을 경험을 몇 번 하고나서는 가능하면 자주 사용하는 몇 가지 기능에만 집중하고 최대한 복잡한 시나리오는 배제하고 있습니다. 귀차니즘이 확장되면 이렇게 된다죠. ^^