2012-05-06 14 views
29

संकलित करने के लिए पीपीपी को संकलित करें मुझे पता है कि सीपी_फ्रीज़ का उपयोग करके एक्सपीथॉन फ़ाइल को एक्सई करने के लिए कैसे संकलित करें, लेकिन क्या पीईपीई एक्सई का उपयोग करके एक सरल प्रोग्राम को संकलित करना संभव है?एक्सपी

+1

http://stackoverflow.com/questions/4251964/can-pypy-be-used-to-produce-a-small-standalone-executable –

+1

के संभावित डुप्लिकेट यह एक डुप्लिकेट becouse नहीं है जो लिंक प्रदान करता है जो कुछ भी हल नहीं करता है और पुराना 2010 है, अब हमारे पास 2012 है। शायद उस समय से कुछ बदल गया था। – Nuncjo

+7

@ रोलैंडस्मिथ यह प्रश्न विशेष रूप से * py2exe et al के विपरीत कुछ * के बारे में पूछता है, जिसमें इसमें पाइथन दुभाषिया शामिल नहीं है, और स्वीकार किया गया है "पाइथन लिखना बंद करें और इस पूरी तरह से अलग भाषा का उपयोग करना शुरू करें जो कि पायथन के उप-समूह के रूप में होता है" । यह प्रश्न बस एक समान फ्रीजिंग टूल के लिए पूछता है जो पीपीपी और पूर्ण पायथन के साथ काम करता है। – delnan

उत्तर

-2

यह एक py2exe समाधान है कि आप के लिए काम कर सकते हैं है: compile.py

#!/usr/bin/env python 
# Corey Goldberg 

from distutils.core import setup 
import py2exe 
import sys 

if len(sys.argv) == 2: 
    entry_point = sys.argv[1] 
    sys.argv.pop() 
    sys.argv.append('py2exe') 
    sys.argv.append('-q') 
else: 
    print 'usage: compile.py <python_script>\n' 
    raw_input('press ENTER to exit...') 
    sys.exit(1) 

opts = { 
    'py2exe': { 
     'compressed': 1, 
     'optimize': 2, 
     'bundle_files': 1 
    } 
} 

setup(console=[entry_point], options=opts, zipfile=None) 
+4

-1 py2exe * नहीं * PyPy के साथ काम करता है (कम से कम वर्तमान में नहीं) - कृपया पहले कुछ शोध करें। और आप py2exe प्रोजेक्ट की बजाय कुछ अस्पष्ट प्रोजेक्ट की सेटअप स्क्रिप्ट से क्यों लिंक करते हैं? – delnan

+1

@ डेलनान: क्योंकि py2exe आउटपुट के रूप में एक फ़ाइल का उत्पादन नहीं करता है जब तक कि आप इसे से जुड़े विकल्पों से नहीं बताते हैं। –

+1

@CeesTimmerman निश्चित रूप से यह विकल्प, अन्य लोगों के साथ जो ओपी के लिए उपयोगी हो सकता है, कहीं भी दस्तावेज किया गया है। – delnan

7

कोई रेडीमेड रास्ता या कैसे जहाँ तक PyPy दुभाषिया का उपयोग कर एक कार्यक्रम से एक EXE बना सकता हूँ करने के लिए, पर ट्यूटोरियल है मुझे पता है। और चीजें चलने के लिए यह बिल्कुल तुच्छ नहीं है, मुझे डर है।

सिद्धांत रूप में, वहाँ PyPy के अनुवाद का उपयोग कर एक EXE फ़ाइल प्राप्त करने के लिए, या तो PyPy दुभाषिया का उपयोग कर या अपना स्वयं का RPython प्रोग्राम लिखने के लिए विचार करने के लिए दो तरीके हैं (PyPy दुभाषिया अपने आप में एक RPython कार्यक्रम, यानी की एक सीमित सबसेट का उपयोग कर रहा है अजगर)।

यदि आप प्रोग्राम RPython के प्रतिबंधित सबसेट का उपयोग करते हैं और कोई निर्भरता नहीं है, तो आप pypy/translator/goal में अनुवाद स्क्रिप्ट का उपयोग करने के लिए देख सकते हैं, जहां आपको बहुत सारी लक्ष्य * .py फ़ाइलें भी मिलेंगी। एक ले लो और अपने उद्देश्यों के लिए इसे संशोधित करें। आप पहली बार अनुवाद अजगर कार्यों यहाँ से शुरू के साथ खेलने के लिए चाहते हो सकता है:

http://doc.pypy.org/en/latest/getting-started-dev.html#trying-out-the-translator

तो आप इस कार्यक्रम के लिए एक आवेदन है और बाहरी पैकेज पर निर्भर करता है, तो आपको पहले यह सुनिश्चित करें कि अपने कार्यक्रम में सभी PyPy पर काम करता है बनाने के लिए प्रयास करना चाहिए - सभी बाहरी पुस्तकालय समर्थित नहीं हैं। फिर आप अपने एप्लिकेशन मॉड्यूल को लोड करने के लिए targetpypystandalone स्क्रिप्ट को संशोधित करने के लिए देख सकते हैं। यदि संदेह है, तो irc.freenode.net पर pypy-dev मेलिंग सूची या #pypy चैनल पर कुछ मदद प्राप्त करने का प्रयास करें।

+0

एक RPython का नकारात्मक पहलू है कि यह गैर-दस्तावेजी है, और अगर आपके कोड यह पालन करने के लिए नहीं होता है, अनुवादक पूरी तरह से समझ से बाहर त्रुटि संदेश के साथ असफल हो जायेगी है। (उदाहरण के लिए, नामित टुपल का उपयोग करने का प्रयास करने से त्रुटि FrozenDesc ऑब्जेक्ट में कोई विशेषता नहीं है allenforced_attrs।) – Antimony

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