गैर-कोड सामग्री हटाए जाने के साथ यहां मेरी स्ट्रिप-डाउन सेटअप-थ्रू स्क्रिप्ट है:
#!/usr/bin/env python
from distutils.core import setup
from whyteboard.misc import meta
setup(
name = 'Whyteboard',
version = meta.version,
packages = ['whyteboard', 'whyteboard.gui', 'whyteboard.lib', 'whyteboard.lib.pubsub',
'whyteboard.lib.pubsub.core', 'whyteboard.lib.pubsub.utils', 'whyteboard.misc'],
py_modules = ['whyteboard'],
scripts = ['whyteboard.py'],
)
MANIFEST.in:
include *.txt
include whyteboard-help/*.*
recursive-include locale *.mo
recursive-include images *.png
जब मैं "python setup.py स्थापित sdist" चलाता हूं, तो मुझे एक "Whyteboard-0.41" रूट फ़ोल्डर के साथ एक अच्छा .tar.gz मिलता है, जिसमें मेरे लोकेल / चित्र / और Whyteboard-help / फ़ोल्डर्स होते हैं। इसमें मेरी Whyteboard.py स्क्रिप्ट भी है जो Whyteboard स्रोत पैकेज के अंदर से मेरा प्रोग्राम लॉन्च करती है।
इसलिए:
whyteboard/
├── locale/
├── images
├── whyteboard-help/
├── whyteboard/
│ ├── __init__.py
│ └── other packages etc
├── whyteboard.py
├── README
├── setup.py
└── CHANGELOG
यह मेरे कार्यक्रम के स्रोत को प्रतिबिंबित करता है, यह है कि सब कुछ कैसे होना चाहिए, और सही है।
हालाँकि जब मैं "python setup.py install" चलाता हूं, तो मेरी कोई भी डेटा फ़ाइल नहीं लिखी जाती है - केवल "Whyteboard" स्रोत पैकेज, और Whyteboard.py को /usr/local/lib/python2.6/nist-packages/ में रखा जाता है ।
आदर्श रूप में, मैं वही निर्देशिका संरचना पसंद करता हूं जो कि .tar.gz फ़ाइल में जनरेट किए गए डिस्ट-पैकेज में बनाई जाती है, क्योंकि इस तरह से मेरा प्रोग्राम अपने संसाधनों की तलाश करता है।
मैं इस निर्देशिका संरचना को बनाने के लिए "इंस्टॉल" कैसे कर सकता हूं? यह मेरी प्रकट फ़ाइल को अनदेखा करने वाला प्रतीत होता है, जहाँ तक मैं बता सकता हूँ।