Pip: Não desative o dependency_links ou deixe o pip usar um arquivo requirements.txt ao instalar a partir do git

Criado em 2 abr. 2015  ·  3Comentários  ·  Fonte: pypa/pip

Ao tentar encontrar uma maneira leve de distribuir scripts Python dentro de uma organização, a situação proposta com pip conforme implícita nas mensagens de reprovação é absurda.

Você pode _facilmente_ distribuir um único pacote em um servidor git (algo que a maioria das organizações tem) ... mas você não pode distribuir facilmente um pacote que pode depender de alguns outros pacotes internos.

Se o pip remover o processamento de dependency_links, esse estilo de distribuição se tornará completamente impossível - o que para mim está em total contraste com algo como npm que torna isso absurdamente fácil.

Claro, não deixe implícito - mas deve haver uma maneira fácil de enviar a um colega de trabalho um comando de linha única que irá instalar um pacote que tem um monte de outras dependências git.

A solução ideal seria uma forma de forçar o pip a processar o arquivo requirements.txt de um repositório git, para que o repositório pudesse definir seus outros requisitos especificamente (já que isso é algo que uma biblioteca em um repositório git definitivamente faz).

Perfeito seria algo como:
pip install --follow-requirements git+http://my.internal.gitserver/internallibrary.git

Talvez forneça um prompt para os requisitos não confiáveis?

auto-locked

Comentários muito úteis

@dstufft O que é essa substituição?

Tenho dois pacotes PackageA e PackageB armazenados em repositórios Git privados e um aplicativo de aplicativo. O aplicativo depende do PackageA e o PackageA depende do PackageB. Não encontrei nenhuma maneira de instalar o PackageB automaticamente como uma dependência do PackageA ao instalar os requisitos do aplicativo.

Todos 3 comentários

Não vamos remover links de dependência até que a substituição deles (que o PyPI entenda e possa garantir que você não carregue pacotes que dependem deles) seja implementada.

@dstufft O que é essa substituição?

Tenho dois pacotes PackageA e PackageB armazenados em repositórios Git privados e um aplicativo de aplicativo. O aplicativo depende do PackageA e o PackageA depende do PackageB. Não encontrei nenhuma maneira de instalar o PackageB automaticamente como uma dependência do PackageA ao instalar os requisitos do aplicativo.

@connorbode, que tal configurar um índice devpi com os lançamentos, então você pode apontar pip para o devpi como índice e não precisará de nenhum link de dependência e também irá espelhar / armazenar em cache pypi em sua rede de trabalho

Esta página foi útil?
0 / 5 - 0 avaliações