2009-08-12 16 views
31

क्या पाइथन अंडे फ़ाइलों को सीधे चलाने के लिए संभव है क्योंकि आप जावा के साथ जार फ़ाइलों को चला सकते हैं?पाइथन अंडे फ़ाइलों को सीधे इंस्टॉल किए बिना कैसे चलाएं?

उदाहरण के लिए, जावा के साथ हो सकता है डॉस कुछ की तरह:

$ java -jar jar-file 

उत्तर

17

एक python egg एक "एक एकल फ़ाइल आयात योग्य वितरण प्रारूप" है। जो आमतौर पर एक अजगर पैकेज है।

आप अंडे में तब तक पैकेज आयात कर सकते हैं जब तक आप इसका नाम जानते हों और यह आपके रास्ते में है।

आप "-m" विकल्प और पैकेज नाम का उपयोग करके एक पैकेज निष्पादित कर सकते हैं।

हालांकि, पाइथन पैकेज आमतौर पर निष्पादित होने पर कुछ भी नहीं करते हैं, और आपको कोई त्रुटि मिल सकती है। कोड चलाने के लिए -c विकल्प का उपयोग किया जा सकता है। (विवरण के लिए http://docs.python.org/using/cmdline.html देखें कमांड लाइन विकल्पों पर)

> python -m sphinx 
sphinx is a package and cannot be directly executed 


> python -c "import <package in an egg>; <function>();" 



> python -c "import sphinx; print sphinx.package_dir" 
C:\Python26\lib\site-packages\sphinx-0.6.1-py2.6.egg\sphinx 
14

अजगर 2.6 के रूप में, आप python some.egg उपयोग कर सकते हैं और अगर यह __main__ नाम के एक मॉड्यूल शामिल हैं यह निष्पादित किया जाएगा।

पायथन के पुराने संस्करणों के लिए, आप PYTHONPATH=some.egg python -m some module का उपयोग कर सकते हैं, और somemodule अंडे से मुख्य मॉड्यूल के रूप में चलाया जाएगा। (नोट: यदि आप Windows पर हैं, तो आपको एक अलग SET PYTHONPATH=some.egg क्या करने की जरूरत होगी।)

4

उदाहरण के लिए, यदि आप झाग मॉड्यूल जो .egg फ़ाइल के रूप में उपलब्ध है आयात करना चाहते हैं:

egg_path='/home/shahid/suds_2.4.egg' 

sys.path.append(egg_path) 

import suds 
#... rest of code 
+1

प्रश्न पूछता है कि कैसे कमांड लाइन को चलाने के लिए - यह एक पायथन लिपि – Mark

+3

@ मार्क के अंदर से कैसे चलाना है, यह कहां कहता है? सवाल पूछता है "पाइथन अंडे फ़ाइलों को सीधे इंस्टॉल किए बिना कैसे चलाएं?" यह जवाब मान्य है। – Adham

+0

@Adham - प्रश्न में जावा उदाहरण जावा – Mark

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