2012-07-16 12 views
19

bulmak için automodule kullanılarakSfenks sfenksin automodule (http://sphinx.pocoo.org/ext/autodoc.html#directive-automodule) kullanırken, submodules

Sadece bir .rst dosyasında yazın:

.. automodule:: my_module 
    :members: 

Bu, my_module belgelerini güzel bir şekilde belgeler, ancak my_module.inner_module0 ve my_module.inner_module1 gibi iç modülleri bulamaz. __all__ değişkeninin yanı sıra __init__.py dosyasında belirtilmesi gereken bir şey var mı? Ayrıca, sphinx-apidoc'un da farkındayım. Ancak bu komut çok fazla belgelidir (belgesiz olanlar da dahil olmak üzere her işlev/klasör ortaya çıkarır). Eğer automodule direktifi bir paket adı vermek istiyorum ve dizin ve belgenin her Python modülü içine recurse var gibi

cevap

25

geliyor. Bu henüz desteklenmiyor. Dokümanlamak istediğiniz her modül için noktalı modül adı belirtilecektir. (Python belgelerine) aşağıdaki dizin yapısı verilen Örneğin

. .. automodule:: sound.formats belirtemezsiniz ve dizindeki tüm modülleri belgeleyebilirsiniz. Her modül için bir automodule komutu belirtmek gerekir: vb .. automodule:: sound.formats.waveread, .. automodule:: sound.formats.wavewrite,

sound/       Top-level package 
     __init__.py    Initialize the sound package 
     formats/     Subpackage for file format conversions 
       __init__.py 
       wavread.py 
       wavwrite.py 
       aiffread.py 
       aiffwrite.py 
       auread.py 
       auwrite.py 
       ... 
     effects/     Subpackage for sound effects 
       __init__.py 
       echo.py 
       surround.py 
       reverse.py 
       ... 
1

O __init__.py olanlar ithal eğer using the :imported-members: option (non-doğrudan bağlantı, arama kullanırım) artık, mümkün olmalıdır geliyor bana altmodüller.

Ancak, ben şahsen bu işi (henüz) yapabilmek değilim.

DÜZENLEME: Muhtemelen known bug.

+0

Bunun 'import-members' kullanılarak çözüldüğünü sanmıyorum. IMHO, @ devin_s'ın son derece başarılı cevabı doğru olanıdır (ya da en azından doğru yolda). Asker, Ağustos 2013'ten bu yana Yığın Taşımı konusunda aktif değil, bu yüzden ondan bir onay alacağımız pek olası görünmüyor. – mzjn

+0

Doğru ... Soruyu tekrar okudum, onu yanlış anladım, kendi görevimin merceğinden yorumluyorum. Gürültü için üzgünüm. –