2012-07-16 21 views
19

Khi sử dụng automodule nhân sư của (http://sphinx.pocoo.org/ext/autodoc.html#directive-automodule),Sphinx, sử dụng automodule để tìm submodules

tôi chỉ đơn giản viết trong một tập tin .rst:

.. automodule:: my_module 
    :members: 

Tài liệu my_module tốt, nhưng không tìm thấy mô đun bên trong như my_module.inner_module0 và my_module.inner_module1. Có điều gì cần được chỉ định trong tệp __init__.py bên cạnh biến __all__ không?

Ngoài ra, tôi biết về sphinx-apidoc. Nhưng lệnh đó tài liệu quá nhiều (cho thấy mọi chức năng/thư mục bao gồm cả những tài liệu không có giấy tờ).

Trả lời

25

Có vẻ như bạn muốn cung cấp cho chỉ thị automodule tên gói và yêu cầu nó tái nhập vào thư mục và ghi lại từng mô-đun Python. Chưa được hỗ trợ. Bạn sẽ phải chỉ định đầy đủ tên mô-đun chấm chấm cho từng mô-đun bạn muốn ghi tài liệu.

Ví dụ: được cung cấp cấu trúc thư mục sau (từ tài liệu Python). Bạn không thể chỉ định .. automodule:: sound.formats và có tài liệu tất cả các mô-đun trong thư mục. Bạn sẽ phải chỉ định một lệnh automodule cho mỗi mô-đun: .. automodule:: sound.formats.waveread, .. automodule:: sound.formats.wavewrite vv

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

Dường như với tôi rằng using the :imported-members: option (liên kết không trực tiếp, đừng sử dụng tìm kiếm), nên có thể, nếu __init__.py nhập khẩu những submodules.

Tuy nhiên, cá nhân tôi không thể thực hiện công việc này (chưa).

CHỈNH SỬA: Có thể là known bug.

+0

Tôi không nghĩ rằng điều này được giải quyết bằng cách sử dụng 'thành viên đã nhập '. IMHO, câu trả lời được đánh giá cao của @ devin_s là câu trả lời đúng (hoặc ít nhất là đúng hướng). Người hỏi đã không hoạt động trên Stack Overflow kể từ tháng 8 năm 2013, vì vậy có vẻ như chúng tôi sẽ không nhận được xác nhận từ anh ấy. – mzjn

+0

True ... Đọc lại câu hỏi, có vẻ như tôi đã hiểu lầm nó, diễn giải qua ống kính của nhiệm vụ của riêng tôi. Xin lỗi vì tiếng ồn. –

Các vấn đề liên quan