다양한 직무의 사람들이 콘다가 제공하는 가상환경을 활용한다고 생각한다.
특히 필자와 같이 데이터 직군에 종사하는 사람이라면, tensorflow를 사용할 때, BERT를 사용할 때, 그 외 다른 언어 모델링, 비전에 관련된 패키지를 사용할 때, 다른 데이터사이언스 패키지와 버전을 호환해줘야 하는 문제점이 빈번하게 발생한다.
예를 들면 tensorflow의 특정 버전에서 딥러닝 레이어 사용 시 numpy의 버전을 맞춰주지 않으면 객체를 생성할 수 없는 에러가 발생하기도 하고, huggingface의 transformers 또한 특정 버전을 맞춰줘야하는 여러 디펜던시가 얽힌 상황들이 자주 발생한다.
따라서 필자처럼 가상환경 내 패키지가 꼬이는 것을 방지하기 위해 가상환경을 복사해서 복사된 가상환경에서 새로운 패키지 설치를 시도해볼 수 있다.
1. 동일 머신에서 콘다 환경 복사
같은 머신에서 콘다 환경을 복사하는 방법은 다음과 같다.
conda create -n <새로운가상환경 이름> --clone <기존가상환경이름>
# 예시)
# 기존 가상환경 이름: original_env
# 새로운 가상환경 이름: new_env
# 복사 방법 커맨드:
# conda create -n new_env --clone original_env
위처럼 --clone 옵션만 명시하면 된다.
2. 기존 머신에서 다른 머신으로 콘다 환경 복사
내 컴퓨터에서 회사 컴퓨터로 가상환경을 복사하고 싶은 경우도 발생할 수 있는데, 그때는 가상환경을 yaml 파일로 export한 뒤, yaml파일을 새로운 머신(회사 컴퓨터)로 가져가서 설치하는 방법이다.
# 기존 가상환경을 yaml 파일로 export 하는 커맨드
conda activate original_env # 복사하고자하는 가상환경을 activate
conda env export > original_env.yaml # yaml파일로 export
이렇게 yaml 파일로 export 하게 되면, 해당 yaml 파일에는 콘다 가상환경에 대한 정보가 저장되어 있다. 가상환경의 이름과 dependencies가 '키-값' 쌍으로 저장되어 있는 것을 확인할 수 있다.
이걸 토대로 새로운 가상환경을 생성하면 된다.
conda env create -f original_env.yaml
conda activate original_env
이렇게 가상환경 복사할 수 있다.