source

pip의 --no-cache-dir는 어떤 장점이 있습니까?

bestscript 2022. 10. 23. 11:41

pip의 --no-cache-dir는 어떤 장점이 있습니까?

제가 최근에 본 건--no-cache-dir도커 파일에서 사용되고 있습니다.깃발을 본 적이 없고 도움말이 설명해주지 않습니다.

 --no-cache-dir              Disable the cache.
  1. 질문:.캐시되는 것은 무엇입니까?
  2. 질문:.캐시는 무엇에 사용됩니까?
  3. 질문:.내가 왜 그걸 무효화해야 하지?
  1. 캐시: 숨겨두거나 나중에 사용할 수 있도록 보관합니다.
  2. 사용처
  • 인스톨 파일을 보존합니다(.whl, 등)를 사용하여 설치하는 모듈의
  • 소스 파일 저장(.tar.gz, 등) 유효기간이 지나지 않은 경우 재이용하지 않도록 합니다.
  1. 캐시를 사용하지 않도록 설정하는 가능한 이유:
  • 하드 드라이브에 공간이 없습니다.
  • 이전에 실행한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/ #http – @emredjan https://pip.pypa.io/en/stable/reference/pip_install/ - @http://https://pip.pypa.io/en/stable/reference/pip_install/

나는 그것을 사용하는 데 합당한 이유가 있다고 생각한다.--no-cache-dir도커 이미지를 빌드할 때 사용합니다.캐시는 보통 도커 이미지에서는 사용할 수 없으며 캐시를 사용하지 않도록 설정하면 이미지 크기를 확실히 줄일 수 있습니다.

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

이는 AMI가 구축되고 있는 chroot 감옥이 아닌 chroot 머신에 존재하는 사용자로 Amazon AMI를 구축할 때 발생합니다.이것은 특정 사용자가 .ssh 디렉토리를 읽을 수 없기 때문에 빌드된 상태로 ssh할 수 없기 때문에 문제가 됩니다.

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

개인 레지스트리/아티팩토리 또는 배포 서비스에 크기 제한이 있을 수 있으므로 Docker File에 python 종속성이 있는 경우 도커 이미지 크기를 줄이십시오.

사용하지 않을 경우 일부 pip 패키지 설치 권한 오류가 표시됨--no-cache-dir선택.

Building wheels for collected packages: pyyaml, bottleneck, nvidia-ml-py3
  WARNING: Building wheel for pyyaml failed: [Errno 13] Permission denied: '/home/user/.cache/pip/wheels/b1'
  WARNING: Building wheel for bottleneck failed: [Errno 13] Permission denied: '/home/user/.cache/pip/wheels/92'
  WARNING: Building wheel for nvidia-ml-py3 failed: [Errno 13] Permission denied: '/home/user/.cache/pip/wheels/7f'

chown /.cache폴더는 어떤 이유로 도움이 되지 않았지만--no-cache-dir정상적으로 동작합니다.

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