Recentemente, vi o --no-cache-dir
sendo usado em um arquivo Docker. Nunca vi essa bandeira antes e a ajuda não está explicando isso:
--no-cache-dir Disable the cache.
- Questão: O que é armazenado em cache?
- Questão: que é usado o cache?
- Pergunta: Por que devo desativá-lo?
pip no-cache-dir
este é agora o primeiro resultado.Respostas:
.whl
, etc) dos módulos que você instalar através do pip.tar.gz
, etc) para evitar um novo download quando não expiradopip install
com configurações inesperadasexport PYCURL_SSL_LIBRARY=nss
epip install pycurl
export PYCURL_SSL_LIBRARY=openssl
epip install pycurl --compile --no-cache-dir
Links para documentação
https://pip.pypa.io/en/stable/reference/pip_install/#caching - @emredjan https://pip.pypa.io/en/stable/reference/pip_install/ - @mikea
fonte
--no-cache-dir
, correto?Acho que há um bom motivo para usar
--no-cache-dir
quando você estiver criando imagens do Docker. O cache geralmente é inútil em uma imagem Docker e você pode definitivamente reduzir o tamanho da imagem desativando o cache.fonte
ENV PIP_NO_CACHE_DIR=1
no docker para python 3.6.10 e imagens superioresOutro motivo para desabilitar o cache do pip - se você executar o pip como um usuário que ainda não existe, seu diretório inicial será criado, mas pertencente ao root.
Isso acontece conosco quando a construção de Amazon AMIs em um chroot - pip está sendo executado como um usuário que existe na máquina do construtor, mas não na jaula chroot onde a AMI está sendo construída. Isso é problemático, pois esse usuário específico agora não pode usar ssh para o que foi criado, pois seu diretório .ssh não pode ser lido por eles.
Não consigo pensar em nenhum outro motivo pelo qual o pip seria executado como um usuário que não existe, então é um caso extremo.
fonte
Reduza o tamanho da imagem do docker se você tiver dependências do Python em seu DockerFile, pois seus registros / artefatos privados ou seus serviços de implantação podem ter limitação de tamanho.
fonte
Recebo erro de permissão para instalação de alguns pacotes pip se não usar a
--no-cache-dir
opção.chown /.cache
pasta não ajudou por algum motivo, mas com--no-cache-dir
ele funciona bem.fonte