Espelhos e caches de índice de pacotes

Status da página

Incompleta

Última revisão

2014-12-24

O espelhamento ou cache do PyPI pode ser usado para acelerar a instalação do pacote local, permitir o trabalho offline, lidar com firewalls corporativos ou simplesmente falhas na Internet.

Três opções estão disponíveis nesta área:

  1. pip fornece opções de cache local,

  2. devpi fornece uma opção de cache de alto nível, potencialmente compartilhada entre vários usuários ou várias máquinas, e

  3. bandersnatch fornece um espelho local completo de todos os pacotes do PyPI.

Fazendo cache com pip

pip fornece uma série de facilidades para acelerar a instalação usando cópias locais em cache de pacotes:

  1. Instalações rápidas e locais baixando todos os requisitos para um projeto e apontando pip para esses arquivos baixados em vez de ir para PyPI.

  2. Uma variação da acima, que pré-constrói os arquivos de instalação para os requisitos usando python3 -m pip wheel:

    python3 -m pip wheel --wheel-dir=/tmp/wheelhouse SomeProject
    python3 -m pip install --no-index --find-links=/tmp/wheelhouse SomeProject
    

Fazendo cache com devpi

devpi é um servidor proxy de cache que você executa em seu laptop ou alguma outra máquina que você sabe que sempre estará disponível para você. Veja a documentação do devpi para começar.

Espelho completo com bandersnatch

bandersnatch irá configurar um espelho local completo de todos os pacotes do PyPI (pacotes hospedados externamente não são espelhados). Veja a documentação do bandersnatch para fazer isso.

Um benefício do devpi é que ele criará um espelho que inclui pacotes que são externos ao PyPI, ao contrário do bandersnatch que armazenará apenas em cache os pacotes hospedados no PyPI.