2015-09-21 27 views
27

Sto provando a scrivere setup.py per il mio pacchetto. Il mio pacchetto deve specificare una dipendenza da un altro repository git.Come scrivere setup.py per includere un repository git come dipendenza

Questo è quello che ho finora:

from setuptools import setup, find_packages 

setup(
    name='abc', 
    packages=find_packages(), 
    url='https://github.abc.com/abc/myabc', 
    description='This is a description for abc', 
    long_description=open('README.md').read(), 
    install_requires=[ 
     "requests==2.7.0", 
     "SomePrivateLib>=0.1.0", 
     ], 
    dependency_links = [ 
    "git+git://github.abc.com/abc/SomePrivateLib.git#egg=SomePrivateLib", 
    ], 
    include_package_data=True, 
) 

Quando eseguo:

pip install -e https://github.abc.com/abc/myabc.git#egg=analyse 

ottengo

Impossibile trovare una versione che soddisfa il requisito SomePrivateLib> = 0.1 .0 (da analizzare) (dalle versioni:) Nessuna distribuzione corrispondente trovata per SomePrivateLib> = 0.1.0 (da analizzare)

Cosa sto sbagliando?

risposta

20

È possibile trovare il modo giusto per farlo here.

dependency_links=['http://github.com/user/repo/tarball/master#egg=package-1.0'] 

La chiave non deve fornire un collegamento a un repository git, ma un collegamento a un tarball. Github crea un tarball del ramo principale per te se aggiungi /tarball/master come mostrato sopra.

+0

È possibile disabilitare la verifica del certificato del server durante il download della dipendenza? – Eugen

+0

@Eugen, c'è un'opzione '--trusted-host', ma non sono sicuro che sia d'aiuto. Potresti ottenere una buona risposta se chiedi in una nuova domanda. – cel

+0

Ho trovato http://stackoverflow.com/questions/29170630/how-to-allow-unverified-packages-in-requirements-txt – Eugen