मैं पाइथन प्रोग्रामिंग भाषा में नया हूं। मैं सोच रहा था कि पाइथन में लिखे गए प्रोग्राम को संकलित करना संभव है या नहीं।क्या पाइथन में लिखे गए एक प्रोग्राम को संकलित करना संभव है?
उत्तर
मुझे लगता है कि Compiling Python Code एक अच्छी जगह शुरू करने के लिए होगा:
अजगर स्रोत कोड स्वतः CPython दुभाषिया द्वारा अजगर बाइट कोड में संकलित किया है। संकलित कोड आमतौर पर पीवायसी (या पीवाईओ) फ़ाइलों, में संग्रहीत होता है और जब स्रोत अद्यतन होता है, या अन्यथा आवश्यक होने पर पुन: उत्पन्न होता है।
लोग हैं, जो पहले से ही अजगर स्थापित किया है, आप कर सकते हैं जहाज या तो PY फाइल या PYC फ़ाइलों के लिए एक कार्यक्रम वितरित करने के लिए। हाल के संस्करणों में, आप भी पीवाई या पीवाईसी फाइलों वाला एक ज़िप संग्रह बना सकते हैं, और उस ज़िप पथ में संग्रह जोड़ने के लिए एक छोटे "बूटस्ट्रैप स्क्रिप्ट" का उपयोग करें।
एक निष्पादन में "संकलन" करने के लिए एक अजगर प्रोग्राम का उपयोग एक बंडलिंग उपकरण, इस तरह के गॉर्डन मैकमिलन के संस्थापक (वैकल्पिक डाउनलोड) (पार मंच), थॉमस हेलर के py2exe (विंडोज़), एंथोनी Tuininga के के रूप में cx_Freeze (क्रॉस-प्लेटफ़ॉर्म), या बॉब Ippolito's py2app (मैक)। ये टूल्स आपके मॉड्यूल और डेटा फ़ाइलों को में किसी प्रकार की संग्रह फ़ाइल में रखता है, और बनाता है जो निष्पादन योग्य है जो चीजों को स्वचालित रूप से सेट करता है ताकि मॉड्यूल को उस संग्रह से आयात किया जा सके। कुछ टूल निष्पादन योग्य में संग्रह को एम्बेड कर सकते हैं।
फ्लाई पर पाइथन संकलन जब आप इसे चलाते हैं। abc.py
अजगर अजगर एक व्याख्या की भाषा है, तो आप उन्हें चलाने बनाने के लिए अपनी स्क्रिप्ट संकलन करने की जरूरत नहीं है:
द्वारा (लिनक्स) एक .py फ़ाइल चलाएँ। एक रनिंग करने का सबसे आसान तरीका टर्मिनल में इसके फ़ोल्डर में नेविगेट करना है और "python somefile.py" निष्पादित करना है। यह आपके लिए the python site.
से स्थापित पायथन स्थापित करता है आप पाइथन ऐप्स संकलित कर सकते हैं, लेकिन आम तौर पर यह नहीं है कि शुरुआत में ऐसा कोई नया डेवलपर करने की ज़रूरत नहीं है। यदि आप यही चाहते हैं, तो py2exe पर एक नज़र डालें। यह आपकी पायथन स्क्रिप्ट लेगा और इसे आपके विंडोज-आधारित कंप्यूटर पर किसी भी प्रोग्राम की तरह निष्पादन योग्य फ़ाइल के रूप में पैकेज करेगा। आप this site.
पर संकलित करने की आवश्यकता नहीं है, जैसा कि आप पाइथन का उपयोग करके व्यक्तिगत फ़ाइलों को संकलित कर सकते हैं, जैसा कि "बाइट कोड के लिए संकलन पाइथन मॉड्यूल" अनुभाग में वर्णित है। सबसे पहले आप इसका उपयोग करते हैं (आयात) इसे सीपीथन दुभाषिया द्वारा संकलित किया जाता है। लेकिन अगर आप वास्तव में संकलन करना चाहते हैं तो कई विकल्प हैं।
या 2 संकलन बस एक विशिष्ट * .py फ़ाइल exe करने के लिए संकलन करने के लिए, तुम सिर्फ उपयोग कर सकते हैं
import py_compile
py_compile.compile("yourpythoncode.py")
py2exe इसके लिए विशेष रूप से अच्छा है। मैंने इसे बहुत उपयोग किया है और इसके साथ बहुत खुश हूं। यह आपके सभी आयात विवरण और एकाधिक मॉड्यूल/कोड फ़ाइलों को भी समायोजित करता है – inspectorG4dget
पाइथन, गतिशील भाषा के रूप में, सी या कोबोल कैन जैसे, कोड कोड में "संकलित" नहीं किया जा सकता है। कोड को निष्पादित करने के लिए आपको हमेशा एक दुभाषिया की आवश्यकता होगी, जो भाषा में परिभाषा के अनुसार एक गतिशील संचालन है।
आप बाइटकोड में स्रोत कोड "अनुवाद" कर सकते हैं, जो केवल एक मध्यवर्ती प्रक्रिया है जो दुभाषिया कोड के भार को तेज़ी से बढ़ाता है, यह पाठ फ़ाइलों को परिवर्तित करता है, टिप्पणियों, रिक्त स्थान, 'if' जैसे शब्दों, बाइनरी कोड में 'def', 'in', आदि, लेकिन पीछे के ऑपरेशन बिल्कुल समान हैं, पाइथन में, मशीन कोड या किसी अन्य भाषा में नहीं। यही वह है जो इसे .pyc फ़ाइलों में संग्रहीत किया जाता है और यह आर्किटेक्चर के बीच पोर्टेबल भी है।
संभवतः आपको कोड की संकलन (जो संभव नहीं है) को "संकलित" नहीं करना है, लेकिन दुभाषिया की बाहरी स्थापना के बिना कोड चलाने की अनुमति देने के लिए कोड के साथ एक दुभाषिया (सही आर्किटेक्चर में) "एम्बेड करना" है। ऐसा करने के लिए, आप उन सभी उपकरणों का उपयोग कर सकते हैं जैसे py2exe या cx_Freeze।
शायद मैं इस :-P
पर एक छोटे से पंडिताऊ जा रहा हूँ आप वास्तव में चाहते हैं, तो आप हमेशा Cython साथ संकलन सकता है। यह सी कोड उत्पन्न करेगा, जिसे आप किसी भी सी संकलक जैसे जीसीसी के साथ संकलित कर सकते हैं।
अनावश्यकता से बचें मैं यहां अपना जवाब दोहराता हूं।
कृपया मेरा उत्तर here देखें।
- 1. जावा प्रोग्राम को संकलित करें ... जावा प्रोग्राम
- 2. एक पाइथन प्रोग्राम को समाप्त करना
- 3. क्या रूबी को पाइथन के साथ बाइट कोड को संकलित करना संभव है?
- 4. पाइथन प्रोग्राम को पाइथन प्रोग्राम
- 5. क्या डी 2 से जावास्क्रिप्ट में संकलित करना संभव है?
- 6. पहलू उन्मुख तकनीकों का उपयोग करके लिखे गए प्रोग्राम का एक अच्छा उदाहरण क्या है?
- 7. क्या पाइथन को मूल रूप से संकलित करना संभव है (पीईसी बाइट कोड से परे)?
- 8. क्या पाइथन में एक कथन में स्ट्रिंग को विभाजित करना और असाइन करना संभव है?
- 9. क्या दृश्य स्टूडियो 2010 में ffmpeg संकलित करना संभव है?
- 10. क्या एक जेएस ऐप + नोडजेएस दुभाषिया को एक निष्पादन योग्य में संकलित करना संभव है?
- 11. क्या पाइथन IO को तेज़ करना संभव है?
- 12. क्या ओबीजेसी से पाइथन मॉड्यूल को कॉल करना संभव है?
- 13. क्या PHP में लिखे गए कोई भी एसवीएन सर्वर हैं?
- 14. क्या सी प्रोग्राम में सीएलआर होस्ट करना संभव है?
- 15. क्या पाइथन असाइनमेंट को अधिभारित करना संभव है?
- 16. क्या विंडोज़ में ऑब्जेक्टिव-सी प्रोग्राम निष्पादित करना संभव है?
- 17. क्या जीसीसीआई कंपाइलर पर एकाधिक प्रोग्राम संकलित करने पर GPU त्वरण का उपयोग करना संभव है?
- 18. क्या जावा स्रोत कोड को केवल स्मृति में प्रोग्रामेटिक रूप से संकलित करना संभव है?
- 19. क्या पाइथन में/से आयात करना संभव है?
- 20. किसी व्याख्या की गई भाषा में लिखे गए कोड को बेचना संभव है?
- 21. क्या मैक (64 बिट) पर svdlibc संकलित करना संभव है?
- 22. पाइथन प्रोग्राम एक मानक असेंबली में?
- 23. एक प्रबंधित भाषा में लिखे गए कोड को बूट करने का कोई तरीका है?
- 24. प्रोग्राम पर चलने वाले कार्यक्रम को ट्रिगर करना संभव है?
- 25. क्या संकलित पायथन फ़ाइल आयात करना संभव है?
- 26. क्या फ़ंक्शन को रेखांकित करना संभव है?
- 27. Concurrency: क्या ग्लोबल इंटरप्रेटर लॉक से प्रभावित सी/सी ++ में पाइथन एक्सटेंशन लिखे गए हैं?
- 28. 1.4 जेआरई के साथ काम करने के लिए 1.5 के लिए लिखे गए जावा कोड को संकलित करना?
- 29. क्या मशीन कोड में .NET IL कोड संकलित करना संभव है?
- 30. एक Tdws प्रोग्राम को क्रमबद्ध करना
आप वास्तव में एक पायथन लिपि "संकलित" नहीं करते हैं। आप इसे पायथन दुभाषिया के साथ चलाते हैं। – ghostdog74
@ ghostdog74 - हाँ, लेकिन पायथन _can_ संकलित किया जाना चाहिए। –
@andrew, हाँ मुझे पता है कि पाइथन संकलित किया जा सकता है। यह लड़का पाइथन के लिए नया है, इसलिए मैं इसे लेता हूं कि वह उदाहरण के लिए सी के साथ क्या करता है, उदाहरण के लिए, py2exe या pyc फ़ाइलों जैसे अधिक उन्नत सामान नहीं ... – ghostdog74