다른 서버에 conda 가상 환경 파일 보내기
1. 원본 서버에서 가상 환경 압축
전송하고 싶은 가상 환경의 파일 경로를 찾아 tar 명령어로 가상 환경 파일을 압축한다. 이때, 가상 환경의 파일 경로는 anaconda를 설치할 때 설정한 위치에 /anaconda3/envs [ENV_NAME]에 있는 경우가 일반적이다.
tar -czvf [FILE_NAME].tar.gz -C [PATH] [ENV_NAME]
tar -czvf dream.tar.gz -C /***/***/anaconda3/envs dream
2. 아카이브 파일 전송 (SCP 명령어 사용)
ssh 원격 접속 프로토콜을 기반으로 한 SecureCopy의 약자로, 디렉터리를 보내거나 가져올 때 사용하는 파일 전송 프로토콜이다. 기본적으로 22번 포트로 전송을 하며, 포트 번호를 설정하고자 하면 아래의 명령어를 실행한다.
# 포트 번호가 있는 경우
scp [FILE_NAME].tar.gz [DESTINATION_USERID]@[DESTINATION_IP]:[DESTINATION_PATH]
# 포트 번호가 없는 경우
scp -P [PORT_NUM] [FILE_NAME].tar.gz [DESTINATION_USERID]@[DESTINATION_IP]:[DESTINATION_PATH]
scp -P 0000 dream.tar.gz yeba@000.00.000.000:/***/***
3. 사본 서버에서 파일 압축 해제
서버에 접속한 후, 파일 전송 경로를 찾아 파일 압축을 해제한다. conda의 가상 환경의 경로에 저장하였으므로 anaconda3/envs로 가서 다음과 같은 압축 해제 명령어를 실행한다.
tar -xzvf [FILE_NAME].tar.gz -C [FILE_DIRECTORY]
tar -xzvf dream.tar.gz -C /***/***/anaconda3/envs
4. Conda 가상환경 활성화
가상환경 폴더 내의 bin/activate 활성화하기 위해 아래의 명령어를 실행한다.
source /***/***/anaconda3/envs/[ENV_NAME]/bin/activate
source /***/***/anaconda3/envs/dream/bin/activate
이때, 해당 경로에 activate 폴더가 없어 오류가 발생했다. 이 경우 conda activate [ENV_NAME]을 한두번 실행하고 conda deactivate를 반복하였더니 activate 폴더가 생성되었다! 다시 위의 명령어를 실행하면 성공적으로 설치되는 것을 볼 수 있다.
연구실에서 프로젝트를 하면서 사용하던 GPU가 꽉 차서 새로운 GPU로 실행해야 하는 일이 생겼다.
새로운 GPU로 옮겨야 하는데 가상 환경 설정이 워낙 까다롭다보니
이러한 경우에 다시 설정하기보다 가상 환경을 전송하는게 편한 것 같다.