문제점
https://github.com/huggingface/huggingface_hub/issues/1423
huggingface hub에서 코드를 다운로드 받아서 cache에 저장하게 되는데 저장하는 이름이 http 헤더에 있는 etag를 이용하게 됩니다.
그런데 etag에 window에서 파일 이름으로 사용할 수 없는 이름이 사용할 경우 file lock이 걸리지 않아 멈춤 상태가 되는 현상입니다.
처음이 bug가 발생한 뒤로 몇번이나 cache 삭제 후 재시도 해봤지만 해결되지 않아서 코드를 분석해 보았습니다.
해결 방법
패치 소스는 'W/' 제거 후 '"' 부분을 모두 제거하는 방식으로 처리하였고,, 다른 방법은 http etag가 두가지 포맷으로 넘어오게 되는데 W/"etag", "etag" W/" 와 같이 넘어올때 W/" 부분의 " 부분을 제거 하는 방법도 됩니다. 아래는 사용 예제입니다.
>>> etag='W/"abcdefg"' >>> etag.replace('W/"','W/').strip('"') 'W/abcdefg'