pypi server, configuração para baixar pacotes automaticamente do cliente?

1

Eu criei um armazenamento pip privado e compartilhei por /var/www/html , o cliente configurou um arquivo pip.conf com configuração de host confiável e índice-url, tudo funciona bem quando estou fazendo o download dos pacotes manualmente para meu armazenamento privado pip e execute pip install dos clientes e o pacote existe ..

A questão é que eu quero que um cliente execute pip install packageName e, se o pacote não existir no meu armazenamento privado, ele irá baixá-lo automaticamente e armazená-lo lá.

É possível?

    
por arikbi 19.07.2018 / 07:27

1 resposta

1

O que parece que você está procurando é chamado de "pull through cache" ou "pull through proxy".

pypicache

Existe um projeto chamado pypicache que pode fazer o que você está pedindo.

Trecho:

pypicache can be used in the following ways:

  1. As a straight proxy to PyPI, caching package downloads where possible.
  2. As a completely standalone PyPI server, useful for deploying from.
  3. As an internal server for hosting custom packages.

A possible day to day workflow could involve a pypicache server running on developer’s machines or in an office. Developers would install packages via this server. This server can also be shared by a deployment build tool which would install from the completely local copy of packages. This allows for repeatable builds.

Lula

Se o pypicache não atender às suas necessidades, usei o Squid para configurar também um cache de proxy. Isso provavelmente será um pouco mais trabalhoso, mas também pode ser usado neste cenário.

Usando um proxy

Aliás, quando você usa um cache de proxy como este, é necessário invocar pip da seguinte forma:

$ pip install --proxy=https://user@mydomain:port somepackage

OBSERVAÇÃO: Isso pode ser configurado em seu ambiente para que você não tenha que incluir --proxy para todas as suas chamadas.

$ export https_proxy=http://user@mydomain:port
$ pip install somepackage

Referências

por 19.07.2018 / 07:40

Tags