최근 --no-cache-dir
에 Docker 파일에서 사용되는 것을 보았습니다 . 나는 전에 그 깃발을 본 적이 없으며 도움이 그것을 설명하지 않습니다.
--no-cache-dir Disable the cache.
- 질문 : 무엇이 캐시됩니까?
- 질문 : 캐시는 무엇에 사용됩니까?
- 질문 : 왜 비활성화해야합니까?
pip no-cache-dir
이것은 이제 첫 번째 결과입니다.
최근 --no-cache-dir
에 Docker 파일에서 사용되는 것을 보았습니다 . 나는 전에 그 깃발을 본 적이 없으며 도움이 그것을 설명하지 않습니다.
--no-cache-dir Disable the cache.
pip no-cache-dir
이것은 이제 첫 번째 결과입니다.
답변:
.whl
pip를 통해 설치하는 모듈 의 설치 파일 ( 등)을 저장합니다..tar.gz
만료되지 않은 경우 다시 다운로드하지 않도록 소스 파일 ( 등)을 저장합니다.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-dir
. 맞습니까?
--no-cache-dir
Docker 이미지를 빌드 할 때 사용하는 좋은 이유가 있다고 생각 합니다. Docker 이미지에서 캐시는 일반적으로 쓸모가 없으며 캐시를 비활성화하여 이미지 크기를 확실히 줄일 수 있습니다.
ENV PIP_NO_CACHE_DIR=1
파이썬 3.6.10 이상의 이미지를 위해 docker에서 사용할 수 있습니다
pip 캐시를 비활성화하는 또 다른 이유-아직 존재하지 않는 사용자로 pip를 실행하면 홈 디렉토리가 생성되지만 루트가 소유합니다.
이는 chroot에서 Amazon AMI를 빌드 할 때 발생합니다. pip는 빌더 머신에 존재하는 사용자로 실행되지만 AMI가 생성되는 chroot jail에서는 실행되지 않습니다. ssh 디렉토리를 읽을 수 없기 때문에 특정 사용자가 방금 빌드 된 항목으로 ssh 할 수 없기 때문에 문제가됩니다.
pip가 존재하지 않는 사용자로 실행되는 다른 이유는 생각할 수 없으므로 매우 엣지 케이스입니다.
--no-cache-dir
옵션을 사용하지 않으면 일부 pip 패키지 설치에 대한 권한 오류가 발생합니다 .
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
작동합니다.