Comment écrire setup.py pour inclure un repo git en tant que dépendance

J'essaie d'écrire setup.py pour mon paquet. Mon paquet doit spécifier une dépendance sur un autre repo git.

C'est Ce que j'ai jusqu'à présent:

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,
)

Quand je cours:

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

Je reçois

impossible de trouver une version qui satisfait à L'exigence SomePrivateLib > = 0.1.0 (from analyse) (from versions: ) Aucune distribution correspondante n'a été trouvée pour SomePrivateLib> = 0.1.0 (d'après analyse)

Ce que je fais mal ?

40
demandé sur abc 2015-09-21 09:30:06

1 réponses

Vous pouvez trouver la bonne façon de le faire ici.

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

La clé est de ne pas donner un lien vers un dépôt git, mais un lien vers une archive. Github crée une archive tar de la branche master pour vous si vous ajoutez /tarball/master comme indiqué ci-dessus.

29
répondu cel 2015-09-21 10:25:50