2009-07-10 7 views
14

आप python .egg फ़ाइलों को कैसे आयात करते हैं जो किसी रिश्तेदार स्थान में .py कोड में संग्रहीत हैं?एक पाइथन .egg लाइब्रेरी को कैसे शामिल करें जो उपनिर्देशिका (सापेक्ष स्थान) में है?

उदाहरण के लिए,

My Application/ 
My Application/library1.egg 
My Application/libs/library2.egg 
My Application/test.py 

कैसे आप आयात और test.py के भीतर से library1 और library2 उपयोग करते हैं, जबकि इन-जगह .egg पुस्तकालयों छोड़ने करते हैं?

उत्तर

24

एक .gg केवल एक .zip फ़ाइल है जो एक निर्देशिका की तरह कार्य करता है जिससे आप सामान आयात कर सकते हैं।

आप अपने रास्ते पर .egg जोड़ सकते हैं या sys.path के लिए एक निर्देशिका संलग्न करने के लिए PYTHONPATH चर का उपयोग कर सकते हैं। एक और विकल्प अंडे को इंगित करने वाली .pth फ़ाइल का उपयोग करना है।

अधिक जानकारी के लिए A Small Introduction to Python eggs, Python Eggs और All about eggs देखें।

उदाहरण के लिए, यदि आपके library1.eggfoo नाम के एक पैकेज में शामिल है, और आप library1.eggPYTHONPATH में जोड़ने के लिए, आप बस import foo

आप PYTHONPATH निर्धारित नहीं कर सकते हैं, तो आप लिख सकते हैं कर सकते हैं:

import sys 
sys.path.append("library1.egg") 
import foo 
+3

तो: आयात sys sys.path.append ("library1.egg") आयात foo –

+0

हाय, मैं कैसे मॉड्यूल/अंडा में निहित पुस्तकालय गतिशील लोड और वर्ग का दृष्टांत कर सकते हैं? – Mythri

2

आप प्रत्येक अंडे को sys.path पर शामिल कर सकते हैं, या एक .pth फ़ाइल बना सकते हैं जो प्रत्येक अंडे का उल्लेख करता है।

आप कई अंडे कि आप अपने सिस्टम में की जरूरत है मैं buildout की तरह कुछ का उपयोग कर की सलाह देते हैं करते हैं तो उस सेटअप आसानी से replicatable कर देगा। यह आपके लिए अंडे को संभालेगा।

http://pypi.python.org/pypi/zc.buildout/

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