development

pip의`--no-cache-dir`은 무엇에 좋은가요?

big-blog 2020. 11. 25. 08:07
반응형

pip의`--no-cache-dir`은 무엇에 좋은가요?


최근 --no-cache-dir에 Docker 파일에서 사용되는 것을 보았습니다 . 나는 전에 그 깃발을 본 적이 없으며 도움이 그것을 설명하지 않습니다.

 --no-cache-dir              Disable the cache.
  1. 질문 : 무엇이 캐시됩니까?
  2. 질문 : 캐시는 무엇에 사용됩니까?
  3. 질문 : 왜 비활성화해야합니까?

  1. 캐시 된 상태 : 은신처에 저장하거나 나중에 사용할 수 있도록 저장
  2. 사용
    • .whlpip를 통해 설치하는 모듈 의 설치 파일 ( 등)을 저장합니다.
    • .tar.gz만료되지 않은 경우 다시 다운로드하지 않도록 소스 파일 ( 등)을 저장합니다.
  3. 캐시를 비활성화하려는 가능한 이유 :
    • 당신은 당신의 하드 드라이브에 공간이 없습니다
    • 이전 pip install예기치 않은 설정으로 실행
      • 예 :
        • 이전에 실행 export PYCURL_SSL_LIBRARY=nss하고pip install pycurl
        • 새로운 실행을 원 export PYCURL_SSL_LIBRARY=openssl하고pip install pycurl --compile --no-cache-dir

문서 링크

https://pip.pypa.io/en/stable/reference/pip_install/#caching - @emredjan https://pip.pypa.io/en/stable/reference/pip_install/ - @mikea


--no-cache-dirDocker 이미지를 빌드 할 때 사용하는 좋은 이유가 있다고 생각 합니다. Docker 이미지에서 캐시는 일반적으로 쓸모가 없으며 캐시를 비활성화하여 이미지 크기를 확실히 줄일 수 있습니다.


pip 캐시를 비활성화하는 또 다른 이유-아직 존재하지 않는 사용자로 pip를 실행하면 홈 디렉토리가 생성되지만 루트가 소유합니다.

이는 chroot에서 Amazon AMI를 빌드 할 때 발생합니다. pip는 빌더 머신에 존재하는 사용자로 실행되지만 AMI가 생성되는 chroot jail에서는 실행되지 않습니다. ssh 디렉토리를 읽을 수 없기 때문에 특정 사용자가 방금 빌드 된 항목으로 ssh 할 수 없기 때문에 문제가됩니다.

pip가 존재하지 않는 사용자로 실행되는 다른 이유는 생각할 수 없으므로 매우 엣지 케이스입니다.

참고 URL : https://stackoverflow.com/questions/45594707/what-is-pips-no-cache-dir-good-for

반응형