2008-10-07 19 views
5

तक पहुंचने के लिए मैंने setuptools का उपयोग करके एक अजगर अंडे का उत्पादन किया है और रनटाइम पर इसके मेटाडेटा तक पहुंच बनाना चाहता हूं। मैं इस समय इस काम कर गया:पायथन अंडे के अपने मेटाडाटा

import pkg_resources 
dist = pkg_resources.get_distribution("my_project") 
print(dist.version) 

लेकिन यह शायद गलत तरीके से करता है, तो मैं एक ही अंडा स्थापित एक से अधिक संस्करण था काम करेगा। और यदि मेरे पास अंडे और विकास संस्करण दोनों स्थापित हैं, तो विकास कोड से यह कोड चलाना स्थापित अंडे का संस्करण उठाएगा।

तो, मैं के लिए मेटाडेटा कैसे प्राप्त करूं अंडे मेरे सिस्टम पर कुछ यादृच्छिक मिलान अंडे स्थापित नहीं है?

उत्तर

4

मैं भी कुछ हद तक अजगर करने के लिए नया हूँ, लेकिन से मैं क्या समझ:

आप "एक ही" अंडा एक से अधिक संस्करण (इसी नाम वाले), उनमें से केवल एक के लिए उपलब्ध हो जाएगा स्थापित कर सकते हैं रनटाइम पर कोड का कोई विशेष टुकड़ा (आपकी खोज विधि के आधार पर)। तो यदि आपका अंडा इस कोड को कॉल करने वाला है, तो इसे पहले से ही my_project के संस्करण के रूप में चुना गया है, और आपकी पहुंच आपके संस्करण के लिए होगी।

0

बिल्कुल। तो आपको केवल लाइब्रेरी के वर्तमान उपलब्ध अंडे (एकवचन) के लिए जानकारी प्राप्त करने में सक्षम होना चाहिए। यदि आपके साइट-पैकेज फ़ोल्डर में एक ही लाइब्रेरी के कई अंडे हैं, तो यह देखने के लिए कि कौन सा अंडे वास्तव में उपयोग किया जाता है, देखने के लिए आसान-install.pth देखें :-)

साइट पर नोट: यह बिल्कुल ठीक है zc.buildout जैसे सिस्टमों का बिंदु जो आपको लाइब्रेरी के सटीक संस्करण को परिभाषित करने देता है जो आपको उदाहरण के लिए उपलब्ध कराया जाएगा, उदाहरण के लिए एक एप्लीकेशन विकसित करना या वेब एप्लिकेशन की सेवा करना। तो आप उदाहरण के लिए एक प्रोजेक्ट के लिए संस्करण 1.0 और दूसरे के लिए 1.2 का उपयोग कर सकते हैं।

संबंधित मुद्दे