kaggle API로 데이터 받는 법, OSError: Could not find kaggle.json. 해결
개요

캐글에 있는 데이터는 그 용량이 만만치 않기 때문에 웹브라우저의 다운로드 기능에만 맡기기엔 조금 불안한 감이 있다. 그래서 고용량 데이터를 안정적으로 받을 수 있는 API를 제공하는데, 위 스크린샷에서 제일 상단에 있는 코드가 거기에 해당한다.
터미널에서 pip install kaggle을 입력래 kaggle을 설치하고
kaggle competitions download -c rsna-miccai-brain-tumor-radiogenomic-classification
를 입력하면 작업경로에 예시 데이터가 다운로드 된다.
에러
사실 안 될 것이다.
PS D:\> kaggle competitions download -c rsna-miccai-brain-tumor-radiogenomic-classification
Traceback (most recent call last):
File "c:\users\rmsms\appdata\local\programs\python\python39\lib\runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "c:\users\rmsms\appdata\local\programs\python\python39\lib\runpy.py", line 87, in _run_code
exec(code, run_globals)
File "C:\Users\rmsms\AppData\Local\Programs\Python\Python39\Scripts\kaggle.exe\__main__.py", line 4, in <module>
File "c:\users\rmsms\appdata\local\programs\python\python39\lib\site-packages\kaggle\__init__.py", line 23, in <module>
api.authenticate()
File "c:\users\rmsms\appdata\local\programs\python\python39\lib\site-packages\kaggle\api\kaggle_api_extended.py", line 164, in authenticate
raise IOError('Could not find {}. Make sure it\'s located in'
OSError: Could not find kaggle.json. Make sure it's located in C:\Users\rmsms\.kaggle. Or use the environment method.
원인
쉽게 말해 kaggle에 회원가입이 되어있어야 다운로드를 할 수 있는데, 그 회원 정보가 없어서 안 된거라고 보면 된다. 유저 정보가 담긴 kaggle.json 파일은 pip로 설치가 안 되기 때문에 직접 kaggle에서 다운로드 받아서 특정 경로에 위치시키면 된다.
해결
Step 1.

https://www.kaggle.com/유저이름/account 혹은 유저프로필에서 Account 탭을 찾는다.
Step 2. kaggle.json 파일 다운로드

해당 페이지에서 API로 검색하면 위와 같이 API 토큰을 생성하는 버튼을 찾을 수 있다. 클릭하면 kaggle.json 파일을 다운로드 받을 수 있다. 이 가이드에서는 헷갈리지 않도록 기본 다운로드 폴더에 받았다.
Step 3. 특정 경로에 복사

반드시 관리자 권한으로 powershell 혹은 터미널을 실행한다.

위와 같이 kaggle.json이 있는 다운로드 폴더로 이동하고, kaggle.json 파일을 복사하는 커맨드는 다음 두 줄이다.
cd C:\Users\rmsms\Downloads
cp kaggle.json ~/.kaggle/kaggle.json
이때 복사에 권한이 필요할 수 있기 때문에 터미널도 관리자 권한으로 연 것이다.
Step 4. 다운로드 시도
kaggle competitions download -c rsna-miccai-brain-tumor-radiogenomic-classification
다시 위의 커맨드를 입력하면 다음과 같이 잘 다운로드가 되는 것을 확인할 수 있다.

사이트에서는 127.45GB이었는데 12.3GB만 다운로드 된 것으로 보이는데, 압축률이 너무 높아 그런 것이니 당황할 필요 없다. 압축을 풀면 원래의 방대한 데이터가 나타난다.


저희들의 저서 「줄리아 프로그래밍」이 2024 세종도서 학술부문에 선정되었습니다!

