pip install parece estar ignorando links de dependência

5

Eu tenho um aplicativo Python que depende de vários pacotes. Um desses pacotes, infelizmente, não está no PyPi, então tenho que instalá-lo diretamente do repositório do git.

Estou tentando adicioná-lo ao meu setup.py da seguinte forma:

setup(
..,
..,
dependency_links = [
                 'https://github.com/marcuz/libpynexmo.git#egg=nexmomessage'
    ],
install_requires=[
    ..,
    'nexmomessage'
],
packages=['localpackage']

No entanto, ele falha: Nenhuma distribuição encontrada para nexmomessage

Eu vejo onde ele cria a lista de links de dependência: escrevendo dependency_links para common.egg-info / dependency_links.txt - e quando olho para o arquivo, a URL está correta.

Se eu executar na linha de comando: pip install -e git + link

É instalado sem problemas.

Pensamentos?

    
por Dave Holland 26.06.2014 / 18:47

2 respostas

6

A partir do pip 1.5, links de dependência estão obsoletos . Atualmente, o pip ainda pode ser forçado a ser usado com o sinalizador --process-dependency-links . Você também pode ter que usar --allow-external packagename ou --allow-unverified packagename , onde packagename especifica qual dependência você deseja instalar que não esteja em um repositório oficial

Observe que, como a funcionalidade está obsoleta, o --process-dependency-links sinalizador será completamente removido em breve. Eu acredito que a abordagem preferida é fornecer um arquivo requirements.txt .

    
por 15.09.2014 / 23:29
2

E a partir do pip 7 eles estão habilitados novamente. Isso significa que agora você pode usar dependency_links usando pip:

pip install -e /path/to/python/module --process-dependency-links --allow-all-external

Se você estiver usando o pip do sistema distros, talvez seja necessário atualizar o pip:

pip install pip --upgrade

Parece ter acontecido na solicitação pull # 1519

    
por 05.02.2016 / 14:22

Tags