https_proxy=http://proxy.example:8080 \
GENSIM_DATA_DIR=/path/to/gensim-data \
python -m gensim.downloader --download text8

이 POSIX 실행 방식은 Gensim의 다운로더를 가져오기 전에 HTTPS 프록시와 데이터 디렉터리를 넘기고, 그다음 text8을 내려받아 로컬 경로를 반환합니다. 공개 다운로드 경로에는 HTTP 프록시 목록에서 HTTP 엔드포인트를 고르고, 디렉터리는 원하는 경로로 바꾸세요.

GENSIM_DATA_DIR은 임포트 시 모듈의 기준 디렉터리로 읽힙니다. 기본값은 ~/gensim-data이므로 gensim.downloader을 임포트한 뒤에 설정하면 그 초기화에는 너무 늦습니다.

CLI는 파이썬 코드가 쓰는 것과 같은 load 함수를 호출하고 urllib을 사용합니다. 애플리케이션에서는 api.load(name, return_path=True)을 쓰면 데이터셋을 메모리에 올리지 않고 내려받기만 합니다.

실패가 남으면 인덱스 요청과 파일 요청을 구분하세요. 인덱스는 GitHub의 원본 콘텐츠 호스트에서 오고, 파일은 릴리스에서 오며 다른 목적지로 리디렉션될 수 있습니다. 로컬 정보 캐시가 있으면 네트워크 장애 후에도 인덱스 조회가 이어질 수 있습니다. 기존 데이터가 있으면 파일을 다시 내려받지 않을 수 있습니다. 따라서 웜 로드는 두 네트워크 경로가 모두 동작했음을 증명하지 않습니다.

관련 글