2016-04-14 23 views
0

python'da pypi için bir kitaplık oluşturmaya çalışıyorum bu yüzden setup.py dosyasını hazırladım. Bazı öğreticilere baktıktan sonra yükledim ancak pip install pyravendb aracılığıyla yüklemeye çalıştığımda boş bir klasöre sahibim.setup.py install yalnızca klasörleri göster

Doğrudan yükleme python setup.py install. Yeniden yalnızca bir pyravendb boş klasörünü almak.

pyravendb/ 
    connection/ 
    custom_exceptions/ 
    d_commands/ 
    data/ 
    hilo/ 
    store/ 
    tests/ 
    tools/ 

proje kök klasörüne setup.py dosyası ekleyin ve her modülü içerecek şekilde packages değiştirin:

benim setup.py dosyası

from distutils.core import setup 

    setup(
     name='pyravendb', 
     packages=['pyravendb'], 
     version='1.0.1', 
     description='This is the official python client for RavenDB document database', 
     author='Idan Haim Shalom', 
     author_email='my email', 
     url='https://github.com/IdanHaim/RavenDB-Python-Client/', 
     download_url='https://github.com/IdanHaim/RavenDB-Python-Client/tarball/1.0.1', 
     keywords='ravendb pyravendb database', 
     license='GNU', 
     requires= 
     [ 
      'pycrypto', 
      'requests', 
      'Inflector' 
     ], 
     zip_safe=False, 
    ) 
+0

Proje yapınız nasıl görünür? – jordanm

+0

github 'da görebildiğiniz https://github.com/IdanHaim/RavenDB-Python-Client/ –

cevap

1

Projeniz aşağıdaki yapıya sahip görünmektedir/dağıtımınıza dahil etmek istediğiniz klasör. Açıkça şöyle tüm modüller paketlenecek ifade edebiliriz:

packages=[ 
     'pyravendb', 
     'pyravendb.connection', 
     'pyravendb.custom_exceptions', 
     'pyravendb.d_commands', 
     'pyravendb.data', 
     'pyravendb.hilo', 
     'pyravendb.store', 
     # and so on.... 
], 

Alternatif olarak, otomatik dizindeki tüm paketleri kullanmak packages=find_packages(), kullanmak sonra setuptools kullanabilir ve find_packages aktarabilir ve.

+0

çok teşekkür ederim –

0

Doğru cevabı bulamıyorum. PRNDL'nin önerdiği gibi, ancak biraz daha az çalışma ile.

from setuptools import setup, find_packages 

ve ambalajlarda

tüm paketleri
setup(
    name='pyravendb', 
    packages=find_packages(), 

benim proje yapısı benim setup.py dosyası içinde hepsini kapsayacak şekilde vardı çok alt dizin paketleri Çünkü

bulmak için find_packages() yöntemini ekleyin ilk denemem neden başarısız oldu. Yukarıdaki gibi yapmak, tüm paketlerima yazmadan sorunumu çözdü

+0

Orijinalde '' find_packages() '' cevabımda yer aldım, ancak distutils kullanıyordunuz ve bunun gerekli olup olmadığı konusunda emin değildim. –

İlgili konular