2015-09-21 19 views
27

Próbuję napisać plik setup.py dla mojego pakietu. Mój pakiet musi określać zależność od innego repozytorium git.Jak napisać plik setup.py, aby dołączyć repozytorium git jako zależność

To, co mam tak daleko:

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

Kiedy biegnę:

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

uzyskać

nie można odnaleźć wersji, która spełnia wymóg SomePrivateLib> = 0.1 .0 (z analizy) (z wersji:) Nie znaleziono zgodnej dystrybucji dla SomePrivateLib> = 0.1.0 (z analizy)

Co robię źle?

Odpowiedz

20

Możesz znaleźć właściwy sposób, aby to zrobić here.

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

Kluczem nie jest dowiązanie do repozytorium git, ale link do tarballa. Github utworzy dla ciebie archiwum głównego, jeśli dodasz /tarball/master, jak pokazano powyżej.

+0

Czy można wyłączyć weryfikację certyfikatu serwera podczas pobierania zależności? – Eugen

+0

@Eugen, istnieje opcja '--trusted-host', ale nie jestem pewien, czy to pomaga. Możesz uzyskać dobrą odpowiedź, jeśli zadasz nowe pytanie. – cel

+0

Znalazłem http://stackoverflow.com/questions/29170630/how-to-allow-unverified-packages-in-requirements-txt – Eugen