سؤال

هذه نسخة معممة من السؤال السابق بخصوص أبو الهول.

هل هناك طريقة لتلائم الوحدات أو الحزم التي تحتوي على دروس ووظائف داخلها؟

أعتقد أنه سخيف لإضافة autofunction أو automodule توجيه لكل وظيفة؛ يجب أن تكون هناك طريقة لأتمتة العملية، وإلا فإنني لا أرى نقطة استخدام أبو الهول على الإطلاق.

توضيح:بدلا من :

.. automodule:: segments.segments

    .. autoclass:: segments.segments.Seg

        .. automethod:: Seg.method_1

        .. automethod:: Seg.method_2

        .. automethod:: Seg.method_3

        .......

        .. automethod:: Seg.method_n

مما يتطلب مني أن يقطع كل أسماء الأسماء واللصق يدويا وتحديث الوثائق في المقابل، أريد أن أحصل على أمر مثل:

.. automodule:: segments.segments

    .. autoclass:: segments.segments.Seg

        .. MAGIC COMMAND: Automatically print the docstrings and signatures 
           of all Seg() methods.
هل كانت مفيدة؟

المحلول

نحن نستخدم

.. automodule:: module
   :members:

نصائح أخرى

لجعل الأمور أسهل يمكنك استخدام هذا البرنامج النصي (انظر إلى أسفل الصفحة للإصدار الأخير):http://bitbucket.org/birkenfeld/sphinx/98/add-the-togenerate-script-to-sphinx.

سيقوم هذا البرنامج النصي بتحليل الحزم / الوحدات الخاصة بك وإنشاء جميع ملفات الراحة اللازمة لبناء الوثيقة من DocStrings.

أنا المؤلف الأصلي لهذا البرنامج النصي.

تحديث

هذا البرنامج النصي هو الآن جزء من أبو الهينكس 1.1 أبيدوك.

وقد تم الآن دمج برنامج Etienne، المذكور في إجابته، في أبو الهول كأبطال أبيدوك. يفعل بالضبط ما يريد المرجع. ومن المقرر إصداره في SPHINX 1.1، أو متاح من HG Repo:

https://bitbucket.org/birkenfeld/sphinx.

يعمل بشكل جميل بالنسبة لي. قراءة المستندات هكذا:

> sphinx-apidoc --help
Usage: sphinx-apidoc-script.py [options] -o <output_path> <module_path>
           [exclude_paths, ...]

Look recursively in <module_path> for Python modules and packages and create
a reST file with automodule directives per package in the <output_path>.

أعتقد أنه سخيف لإضافة التوجيه التلقائي أو التوجيه التشغيلي لكل وظيفة؛ يجب أن تكون هناك طريقة لأتمتة العملية، وإلا فإنني لا أرى نقطة استخدام أبو الهول على الإطلاق.

أود أن أقترح epydoc., وهي متخصصة في توليد الوثائق من DocStrings.

تريد أنه أكثر أبسط من مجرد تحديد السيارات؟ حتى بالنسبة لمكتبة كبيرة، فإن حجم العمل 5min من أجل كتابة جميع أسماء الوحدات النمطية.

سبب القيام بذلك هو لأن SPHINX بالكاد تخمين ما يجب توثيقه.

يمكنك أيضا كتابة التشغيل التلقائي، والتي ستبحث عن الوحدات النمطية واستخدام التوجيهات Automodulate (إذا لم تفعل Automodule بالفعل).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top