pip의 --no-cache-dir는 어떤 장점이 있습니까?
제가 최근에 본 건--no-cache-dir도커 파일에서 사용되고 있습니다.깃발을 본 적이 없고 도움말이 설명해주지 않습니다.
--no-cache-dir Disable the cache.
- 질문:.캐시되는 것은 무엇입니까?
- 질문:.캐시는 무엇에 사용됩니까?
- 질문:.내가 왜 그걸 무효화해야 하지?
- 캐시: 숨겨두거나 나중에 사용할 수 있도록 보관합니다.
- 사용처
- 인스톨 파일을 보존합니다(
.whl, 등)를 사용하여 설치하는 모듈의 - 소스 파일 저장(
.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/ #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
'source' 카테고리의 다른 글
| Mysql (MariaDB 10.0.29) :루트 패스워드를 설정해도 패스워드를 묻지 않고 로그인할 수 있습니까? (0) | 2022.10.23 |
|---|---|
| 일정한 값으로 데이터 프레임에 열 추가 (0) | 2022.10.23 |
| 모달 열 때 BODY 스크롤 방지 (0) | 2022.10.23 |
| IBM PASE에 MariaDB용 ODBC 드라이버가 있습니까? (0) | 2022.10.23 |
| Laravel은 "루트가 정의되지 않았습니다"라고 말합니다. (0) | 2022.10.23 |