मैं एक अजगर पैकेज बनाने के लिए कोशिश कर रहा हूँ, और मैं इस तरह एक निर्देशिका संरचना है:MANIFEST.in, package_data, और data_files स्पष्टीकरण?
mypkg/
├── __init__.py
├── module1
│ ├── x.py
│ ├── y.py
│ └── z.txt
└── module2
├── a.py
└── b.py
तब मैं MANIFEST.in
में सभी फाइलों को जोड़ा और जब मैं बनाया संग्रह की जाँच करें, यह सभी फाइलों था।
जब मैं python setup.py install
dist-packages/mypkg/module1
में करता हूं। मैं केवल पायथन फाइलें देखता हूं और z.txt
नहीं।
मैं MANIFEST.in
और setup.py
दोनों में z.txt
है:
setup (
packages = [
'mypkg',
'mypkg.module1',
'mypkg.module2',
],
package_data = {
'mypkg': ['module1/z.txt']
},
include_package_data = True,
...
)
मैं भी data_files
के रूप में फ़ाइल जोड़ने की कोशिश की लेकिन वह /usr/local
में एक निर्देशिका बनाया। मैं इसे स्रोत कोड निर्देशिका में रखना चाहता हूं क्योंकि कोड उस डेटा का उपयोग करता है।
मैंने नीचे सूचीबद्ध पदों को पढ़ा है, लेकिन setup.py install
के बाद z.txt
को सही स्थान पर रखने का सही तरीका क्या है, इस बारे में भ्रमित हो रहा हूं।
- MANIFEST.in ignored on "python setup.py install" - no data files installed?
- Installing data files into site-packages with setup.py
- http://blog.codekills.net/2011/07/15/lies,-more-lies-and-python-packaging-documentation-on--package_data-/
अद्यतन: यह तय हो गया है जब मैं distutils.core के बजाय setuptools उपयोग शुरू कर दिया। मुझे लगता है कि यह distutils के साथ कुछ समस्या थी जब मैनिफेस्ट से सहमत नहीं था, जबकि setuptools कोड में किसी भी बदलाव के बिना काम किया। मैं भविष्य में setuptools का उपयोग करने की सलाह देते हैं। लिंक का उपयोग [यहां] [1]। [1]: http://peak.telecommunity.com/DevCenter/setuptools#developer-s-guide – Sourabh