2015-09-21 20 views
27

Paketim için setup.py dosyasını yazmaya çalışıyorum. Paketimin başka bir git repo'ya bağımlılık belirtmesi gerekiyor.Nasıl bağımlılık olarak git repo eklemek için setup.py nasıl yazılır

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

Ben çalıştırdığınızda:

Bu

Bugüne kadar ne var

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

alıyorum

gereksinimi SomePrivateLib> = 0,1 karşılayan bir sürümü bulunamadı .0 (from from analysis) (from: version:) SomePrivateLib için eşleşen bir dağıtım bulunamadı> = 0.1.0 (analizden)

Neyi yanlış yapıyorum?

cevap

20

Bunu yapmak için doğru yolu here bulabilirsiniz.

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

anahtar bir tarball için bir git deposuna bir bağlantı ama link vermek değildir. Github, yukarıda gösterildiği gibi /tarball/master eklerseniz sizin için ana dalın bir tarball'ını oluşturur.

+0

Bağımlılık indirirken sunucu sertifikası doğrulamasını devre dışı bırakmak mümkün mü? – Eugen

+0

@Eugen, '--tr-host' seçeneği var, ama yardımcı olup olmadığından emin değilim. Yeni bir soru sorarsanız iyi bir cevap alabilirsiniz. – cel

+0

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