मैं स्फिंक्स का उपयोग करके अपने कोडबेस के लिए मूल दस्तावेज़ीकरण को स्वत: उत्पन्न करने का प्रयास कर रहा हूं। हालांकि, मुझे अपनी फ़ाइलों को दोबारा स्कैन करने के लिए स्फिंक्स को निर्देश देने में कठिनाई हो रही है।सभी पायथन पैकेज सामग्री के लिए स्वचालित रूप से जनरेटिंग जनरेटिंग
मैं की तरह एक फ़ोल्डर संरचना के साथ एक अजगर codebase है:
<workspace>
src
mypackage
__init__.py
subpackageA
__init__.py
submoduleA1
submoduleA2
subpackageB
__init__.py
submoduleB1
submoduleB2
मैं <workspace>
में स्फिंक्स-त्वरित प्रारंभ भाग गया, तो अब मेरी संरचना की तरह दिखता है:
<workspace>
src
mypackage
__init__.py
subpackageA
__init__.py
submoduleA1
submoduleA2
subpackageB
__init__.py
submoduleB1
submoduleB2
index.rst
_build
_static
_templates
मैं त्वरित प्रारंभ पढ़ा है ट्यूटोरियल http://sphinx.pocoo.org/tutorial.html, और हालांकि मैं अभी भी दस्तावेज़ों को समझने की कोशिश कर रहा हूं, जिस तरह से यह शब्द है, मुझे चिंतित करता है कि स्फिंक्स मानता है कि मैं अपने कोडबेस में प्रत्येक मॉड्यूल/कक्षा/फ़ंक्शन के लिए मैन्युअल रूप से दस्तावेज़ फ़ाइलों को बनाने जा रहा हूं।
हालांकि, मैंने "ऑटोमॉड्यूल" कथन नोटिस किया, और मैंने क्विकस्टार्ट के दौरान ऑटोडोक सक्षम किया, इसलिए मुझे उम्मीद है कि अधिकांश दस्तावेज स्वचालित रूप से जेनरेट किए जा सकते हैं। मैंने sys.path में अपना src फ़ोल्डर जोड़ने के लिए अपना conf.py संशोधित किया और फिर ऑटो्यूल्यूल का उपयोग करने के लिए मेरी index.rst को संशोधित किया। तो अब मेरा index.rst इस तरह दिखता है:
Contents:
.. toctree::
:maxdepth: 2
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
.. automodule:: alphabuyer
:members:
मेरे पास उप-पैकेज में परिभाषित दर्जनों वर्ग और कार्य हैं। फिर भी, जब मैं चलाएँ:
sphinx-build -b html . ./_build
यह रिपोर्ट:
updating environment: 1 added, 0 changed, 0 removed
और ये मेरे पैकेज के अंदर कुछ भी आयात करने में विफल हो गया था। जेनरेट किए गए index.html को देखकर "सामग्री:" के बगल में कुछ भी नहीं दिखाता है। इंडेक्स पेज केवल "मायपैकेज (मॉड्यूल)" दिखाता है, लेकिन इसे क्लिक करने से पता चलता है कि इसमें कोई सामग्री नहीं है।
आप स्फिंक्स को फिर से एक पैकेज का विश्लेषण करने के लिए कैसे निर्देशित करते हैं और प्रत्येक वर्ग/विधि/फ़ंक्शन के लिए स्वचालित रूप से दस्तावेज जेनरेट करते हैं, बिना प्रत्येक वर्ग को मैन्युअल रूप से सूचीबद्ध किए बिना?
यह और अधिक कुछ पूरी तरह से असंबंधित परियोजना के लिए एक बाद का विचार की तरह लगता है। टूल के लिए भी कोई उपयोग प्रलेखन प्रतीत नहीं होता है। – Cerin
वनीला स्फिंक्स के साथ आप जो चाहते हैं उसे करने का कोई तरीका नहीं है। कुछ और आवश्यक है, और apigen.py एक अच्छा उम्मीदवार है। यह क्यों मायने रखता है कि यह "असंबंधित" या "बाद विचार" है? उपकरण को अच्छी तरह से पैक नहीं किया गया है और सावधानीपूर्वक दस्तावेज किया गया है, लेकिन यह बेहद जटिल नहीं है। लघु मुख्य स्क्रिप्ट को अनुकूलित करके प्रारंभ करें, build_modref_templates.py। यह स्क्रिप्ट ApiDocWriter क्लास को apigen.py से आयात करती है जो सभी कड़ी मेहनत करती है। – mzjn
मुझे इसके बाद एक विचारधारा माना जाता है, क्योंकि चूंकि यह एक न्यूरोइमेजिंग लाइब्रेरी में एक परिशिष्ट है, इसलिए डेवलपर का ध्यान न्यूरोइमेजिंग पर होगा, सामान्य लोगों के लिए apigen.py काम नहीं कर रहा है। हालांकि, इस प्रकार के स्वचालन का समर्थन नहीं करने वाले स्फिंक्स के बारे में आपका मुद्दा अच्छी तरह से लिया जाता है। मैं https://bitbucket.org/etienned/sphinx-autopackage-script के साथ जा रहा हूं, जो इस कार्य को समर्पित है, हालांकि मुझे यकीन है कि apigen.py शायद भी काम करेगा। – Cerin