Google Colab 에 영구적인 Package 설치 방법
1. 개요
Google Colab을 이용하면 머신러닝에 필요한 자원을 할당받아 활용할 수 있다.
그러나 주어진 세션의 한계 (12시간 마다 초기화), 혹은 런타임 초기화 시 모든 설치된 Package가 사라진다.
여러 패키지를 사용한다면 매번 설치하는 번거로움 있다.
그래서 영구적인 설정 법을 설명한다.
2. 개념
Colab을 연결해서 사용하기 시작하면 구글 드리이브에 아래 2개 디렉토리가 자동으로 생성된다.
'/content/notebooks'
'/content/mnt/My Drive/Colab Notebooks'
Colab을에서 기본으로 만들어주다 보니
'/content/notebooks' 이 디렉토리는 세션이 종료되거나,
런타임을 초기화 하면 전부 지워진다.
그래서 내 드라이브 하위에 생성된 '/content/mnt/My Drive/Colab Notebooks' 이 디렉토리와
심볼릭 링크를 걸어서 사용하면 된다.
3. 방법 및 소스
소스는 Colab에 붙혀넣고 실행하면 된다. 나는 다른 폴더에 만들고 싶었으나 오류가 발생하였다.
# 구글 드라이브에 Python Package 영구 설치
# 이후 모든 Notebook 파일 시작에 상단을 추가해서 실행해줘야 함. 단 1회만 하면됨
import os, sys
from google.colab import drive
drive.mount('/content/mnt')
nb_path = '/content/notebooks'
nb_package_path = nb_path + '/packages'
my_path = '/content/mnt/My Drive/Colab Notebooks'
os.symlink(my_path, nb_path, target_is_directory=True)
sys.path.insert(0, nb_package_path)
# Python Package 설치
!pip install --target=$nb_package_path jdc
!pip install --target=$nb_package_path ray
!pip install --target=$nb_package_path modin[ray]
# 설치된 패키지 테스트
!ls '/content/notebooks/packages'
!ls '/content/notebooks'
!ls '/content/mnt/My Drive/Colab Notebooks/packages'
# 세션 / 런타임 초기화
1) 메뉴 > 런타임 > 런타임 초기화
2) 구글 드라이브 마운트
import os, sys
from google.colab import drive
drive.mount('/content/mnt')
3) 디렉토리 내용 보기
!ls '/content/mnt/My Drive/Colab Notebooks/packages'
!ls '/content/notebooks/packages'
여기는 마운트가 안되서 오류남
4) 마운트하고 심볼릭 링크 연결함
import os, sys
from google.colab import drive
drive.mount('/content/mnt')
nb_path = '/content/notebooks'
nb_package_path = nb_path + '/packages'
my_path = '/content/mnt/My Drive/Colab Notebooks'
os.symlink(my_path, nb_path, target_is_directory=True)
sys.path.insert(0, nb_package_path)
5) 파일 확인
!ls '/content/notebooks/packages'
여기서 sys.path.insert(0, nb_package_path) 이렇게 Path를 넣어줘야 패키지 로딩시 기본위치가 됨
이상입니다.
댓글
댓글 쓰기