मान लीजिए कि मेरे पास एक उपयोगी पायथन फ़ंक्शन या क्लास (या जो कुछ भी है) जिसे useful_thing
एकल फ़ाइल में मौजूद है। स्रोत वृक्ष को व्यवस्थित करने के लिए आवश्यक दो तरीके हैं। पहला तरीका एकल मॉड्यूल का उपयोग करता है:
- setup.py
- README.rst
- ...etc...
- foo.py
में कहाँ useful_thing
परिभाषित किया गया है foo.py
। दूसरी रणनीति पैकेज बनाने की है:
- setup.py
- README.rst
- ...etc...
- foo
|-module.py
|-__init__.py
में कहाँ useful_thing
परिभाषित किया गया है module.py
। पैकेज के मामले में __init__.py
इस तरह दिखेगा
from foo.module import useful_thing
ताकि दोनों मामलों में आप कर सकें from foo import useful_thing
।
प्रश्न: कौन सा तरीका पसंद किया जाता है, और क्यों?
संपादित करें: चूंकि उपयोगकर्ता gnat कहता है कि यह प्रश्न खराब रूप से बनता है, इसलिए मैं यह जोड़ूंगा कि आधिकारिक अजगर पैकेजिंग ट्यूटोरियल टिप्पणी नहीं करता है कि ऊपर वर्णित विधियों में से कौन सा पसंदीदा है। मैं स्पष्ट रूप से पेशेवरों और विपक्षों की अपनी व्यक्तिगत सूची नहीं दे रहा हूं क्योंकि मैं इस बात में दिलचस्पी रखता हूं कि क्या कोई समुदाय पसंदीदा तरीका है, न कि पेशेवरों और विपक्षों की चर्चा उत्पन्न कर रहा है :)