본문 바로가기
파이썬(Python)

[파이썬]Streamlit - Git LFS 사용하기

by 즐거운코딩 2024. 6. 12.
반응형

Streamlit을 이용해 별도의 html 파일없이도 웹페이지 구축이 가능한 것을 이전의 포스트를 통해서 가장 많이 사용할 만한 기능들 중심으로 소개를 했습니다.

 

이번 포스트에서는 Streamlit Cloud를 통해 외부로 페이지를 오픈하기 위해 Github를 이용합니다.

데이터 분석의 특성상 외부 데이터베이스를 연동할 수 있지만 표출하기 위한 데이터를 Git Repository에 업로드하여 이용하는 것이 더 쉬운 방법입니다.

 

1.  Git Repositoy 파일 용량 제한 및 권장사항

  • 1개 파일이 50MB 보다 큰 파일을 업로드 하려면 git에서 경고 표출 (push 로 업로드는 되지만 성능 저하 영향)
  • 100MB 가 넘는 파일은 차단
  • Repository의 추천용량은 1G 이하 이며 최대 5G를 넘지 않도록 함 (성능 저하 문제)
    코드 이력관리가 많아지면 용량을 넘어설 수 있어서 대용량 파일에 대해서는 별도 관리가 필요
단, 브라우저 통한 파일 업로드시 25MB 보다 크면 안됨

 

      따라서 대용량 파일이 있는 프로젝트의 경우 github repository를 연결하여 push 로 업로드하는 것이 필요

 

2.  대용량 파일 업로드 사용 방법

 

대용량 파일(동영상, 오디오파일, 데이터셋 등) 로 인한 속도 영향 문제로 Github 는 별도의 대용량 파일을 위한 스토리지(LFS)를 제공합니다.

Github에서 제공하는 Large File Storage(LFS)를 사용하기 위해서는 다음과 같은 추가 프로그램 설치 및 별도 관리 파일 등록작업이 필요합니다.

 

세부적인 사항은 아래의 공식 페이지를 참고

https://git-lfs.com/

 

Git Large File Storage

Git Large File Storage (LFS) replaces large files such as audio samples, videos, datasets, and graphics with text pointers inside Git, while storing the file contents on a remote server like GitHub.com or GitHub Enterprise.

git-lfs.com

 

컴퓨터 OS에 따라 설치 프로그램이 다른데 아래의 예시는 맥OS 기준입니다.

  • homebrew를 이용하여 PC에 설치
    brew install git-lfs
  • 터미널에 다음과 같이 실행 (계정별 1번만 실행)
    git install lfs
  • lfs 가 필요한 git repository에서 lfs로 관리가 필요한 파일 타입을 지정
    git lfs track *.psd
    psd 형식의 파일만 lfs에 저장, .gitattributes 파일에 추적할 파일타입 등록되며, 다른 형식의 파일도 추가 등록 가능함
  •  git respository에 .gitattributes 파일을 추가
    git add .gitattributes
  • 이제 부터는 평상시와 같이 git add , commit, push 를 사용
    lfs 에 해당되는 파일은 별도 관리되며, lfs 에 등록된 파일 사용을 위해 별도 명령 등 필요없이 이용 가능

github lfs (large file storage)

 

📌 Streamlit 사용시 대용량 데이터셋 이나 오디오, 동영상 파일이 필요하다면 LFS가 필수 

반응형