मैं पायथन के लिए .py से .exe में कैसे परिवर्तित कर सकता हूं?


126

मैं एक बहुत ही सरल पायथन प्रोग्राम को एक निष्पादन योग्य में बदलने की कोशिश कर रहा हूं और मैं जो ढूंढ रहा था वह नहीं मिल रहा है, इसलिए मेरे कुछ सवाल हैं (मैं पायथन 3.6 चला रहा हूं):

ऐसा करने के तरीके जो मैंने अभी तक पाए हैं, वे इस प्रकार हैं

  1. पायथन का एक पुराना संस्करण डाउनलोड करना और उपयोग करना pyinstaller/py2exe
  2. पायथन 3.6 में एक आभासी वातावरण स्थापित करना जो मुझे 1 करने की अनुमति देगा।
  3. पायथन को C ++ कनवर्टर में डाउनलोड करना और उसका उपयोग करना।

यहाँ मैं क्या करने की कोशिश की है / मैं क्या समस्याओं में चला गया है।

  • मैंने pyinstallerआवश्यक डाउनलोड से पहले इसे स्थापित किया (pypi- कुछ) तो यह काम नहीं किया। पूर्वापेक्षा फ़ाइल डाउनलोड करने के बाद, pyinstallerअभी भी इसे नहीं पहचानता है।
  • अगर मैं पायथन 2.7 में एक virtualenv स्थापित कर रहा हूं, तो क्या मुझे वास्तव में अजगर 2.7 स्थापित करने की आवश्यकता है?
  • इसी तरह, C ++ कन्वर्टर्स के लिए एकमात्र पायथन मैं केवल पायथन 3.5 तक ही काम देखता हूं - क्या मुझे इस संस्करण को डाउनलोड करने और उपयोग करने की आवश्यकता है यदि यह प्रयास करें?

4
यह सुनिश्चित नहीं है कि यह क्यों अस्वीकृत किया गया है (शायद इसलिए कि उपकरण अनुशंसाएँ SO के लिए ऑफटॉपिक हैं), लेकिन यह प्रश्न भविष्य में दूसरों के लिए उपयोगी होगा। इसी तरह के पिछले सवालों को
ऑफॉपिक नहीं लिखा

जवाबों:


127

पाइथन 3.6 में .py से .exe में बदलने के लिए चरण

  1. अजगर 3.6 स्थापित करें ।
  2. Cx_Freeze स्थापित करें, और अपना कमांड प्रॉम्प्ट खोलें और टाइप करें pip install cx_Freeze
  3. Idna स्थापित करें, और अपना कमांड प्रॉम्प्ट खोलें और टाइप करें pip install idna
  4. .pyनाम से एक कार्यक्रम लिखें myfirstprog.py
  5. setup.pyअपनी स्क्रिप्ट की वर्तमान निर्देशिका में नामित एक नया अजगर फ़ाइल बनाएँ ।
  6. में setup.pyफ़ाइल, नीचे और यह बचाने कोड को कॉपी करें।
  7. शिफ्ट प्रेस्ड राइट के साथ उसी डायरेक्टरी पर क्लिक करें, ताकि आप कमांड प्रॉम्प्ट विंडो खोल सकें।
  8. प्रॉम्प्ट में, टाइप करें python setup.py build
  9. यदि आपकी स्क्रिप्ट त्रुटि मुक्त है, तो एप्लिकेशन बनाने में कोई समस्या नहीं होगी।
  10. नए बनाए गए फ़ोल्डर की जाँच करें build। इसमें एक और फ़ोल्डर है। उस फ़ोल्डर के भीतर आप अपना आवेदन पा सकते हैं। चलाओ। खुद को खुश रखें।

मेरे ब्लॉग में मूल स्क्रिप्ट देखें ।

setup.py:

from cx_Freeze import setup, Executable

base = None    

executables = [Executable("myfirstprog.py", base=base)]

packages = ["idna"]
options = {
    'build_exe': {    
        'packages':packages,
    },    
}

setup(
    name = "<any name>",
    options = options,
    version = "<any number>",
    description = '<any description>',
    executables = executables
)

संपादित करें:

  • सुनिश्चित करें कि myfirstprog.pyआप के बजाय अपने .pyविस्तार फ़ाइल नाम के रूप में चरण 4 में बनाया जाना चाहिए ;
  • आप प्रत्येक को शामिल करना चाहिए importअपने में एड पैकेज .pyमें packagesसूची (पूर्व: packages = ["idna", "os","sys"])
  • any name, any number, any descriptionमें setup.pyफ़ाइल ही नहीं रहना चाहिए, आप उसके अनुसार यह बदलना चाहिए (पूर्व: name = "<first_ever>", version = "0.11", description = '')
  • importएड संकुल स्थापित किया जाना चाहिए इससे पहले कि आप शुरू चरण 8

10
क्या इसे 'स्टैंडअलोन' क्रियान्वित करने का एक तरीका है? यदि मैं आपके लेख में सलाह देता हूं, तो मैं फ़ोल्डर exe.win.32-3.6 के साथ समाप्त होता हूं। जो सहायक फ़ाइलों और निर्देशिकाओं से भरा है (जैसे 'संग्रह /', 'ईमेल', आदि)। एक साधारण प्रिंट ('हैलो') के लिए बहुत कुछ। मैं एक, एकल, निष्पादन योग्य फ़ाइल बनाना चाहूंगा, जो अन्य फ़ाइलों की आवश्यकता के बिना किसी अन्य कंप्यूटर पर चलेगी। क्या उसके लिए एक बिल्ड विकल्प है?
फैनटाइकड


2
@FanaticD पायथन आपका सबसे अच्छा दांव नहीं है। साइथन (काम पाने के लिए एक दुःस्वप्न) या नुत्का आपकी सबसे अच्छी शर्त होगी। लेकिन उन्हें काम मिलना अपने आप में एक उपलब्धि है।
टेटोरा

क्या यह काम पायथन 3.5.3 में होगा? (डेबियन 9 स्ट्रेच पर अंतिम स्थिर संस्करण)।
गेरार्ड

मैं कैसे आयात करूंगा from sklearn.externals import joblib? जैसा कि एडिट में बताया गया है, चरण 2
जैक

77

Python 3.6 PyInstaller द्वारा समर्थित है।

अपने पाइथन फ़ोल्डर में एक cmd विंडो खोलें (एक कमांड विंडो खोलें और cdशिफ्ट को होल्ड करते समय उपयोग करें या, इसे Windows Explorer पर राइट क्लिक करें और 'Open कमांड विंडो यहाँ चुनें')। फिर बस दर्ज करें

pip install pyinstaller

और बस।

इसका उपयोग करने का सबसे सरल तरीका आपके कमांड प्रॉम्प्ट पर दर्ज करना है

pyinstaller file_name.py

इसका उपयोग कैसे करें के बारे में अधिक जानकारी के लिए, इस प्रश्न पर एक नज़र डालें ।


4
सिर्फ अजगर 3.7.0 के साथ परीक्षण किया गया। बहुत सारी चेतावनियाँ, लेकिन सफलतापूर्वक संकलित की गईं और विंडोज़ 10 पर चल रही हैं
Ole_S

2
मैंने अजगर 3.5.0 और कोई चेतावनी या त्रुटियों के साथ एक कार्यक्रम संकलित किया, और यह अपेक्षित रूप से चलता है
मेनोट्डन

क्या किसी को पता है कि एक Pyinstaller में क्या मायने रखता है? क्या एक exe विंडोज 8 में काम करेगा विंडोज 8 पर? या विंडोज 10 10 बिट सिस्टम में विंडोज 32 बिट निर्माण कार्य करेगा?
डेरिक81

27

GitHub पर ऑटो-पी-टू-एक्स नामक एक ओपन सोर्स प्रोजेक्ट है । वास्तव में यह केवल PyInstaller का आंतरिक रूप से उपयोग करता है लेकिन चूंकि इसमें एक साधारण GUI है जो PyInstaller को नियंत्रित करता है इसलिए यह एक आरामदायक विकल्प हो सकता है। यह अन्य समाधानों के विपरीत एक स्टैंडअलोन फ़ाइल का उत्पादन भी कर सकता है। वे एक वीडियो भी दिखाते हैं जो इसे स्थापित करने का तरीका बताता है।

जीयूआई:

Ex करने के लिए Auto Py

आउटपुट:

उत्पादन


2
आपको उल्लेख करना चाहिए कि इसके लिए MVC ++ की आवश्यकता है। त्रुटि: Microsoft Visual C ++ 14.0 की आवश्यकता है।
एसकेआर

3
मुझे इसका कोई मूल्य नहीं मिला क्योंकि यह pyinstaller पर बनाया गया है और अगर आपको pyinstaller में कोई त्रुटि मिलती है तो आप इसे यहाँ भी करने जा रहे हैं!
CV_passionate

9

मैं आपको नहीं बता सकता कि सबसे अच्छा क्या है, लेकिन एक उपकरण जिसका मैंने अतीत में सफलता के साथ उपयोग किया था वह था cx_Freeze । उन्होंने हाल ही में 5.0.1 संस्करण में अपडेट किया (7 जनवरी, '17 को) और यह पायथन 3.6 का समर्थन करता है।

यहाँ pypi https://pypi.python.org/pypi/cx_Freeze है

प्रलेखन से पता चलता है कि आपकी आवश्यकताओं के आधार पर इसे करने का एक से अधिक तरीका है। http://cx-freeze.readthedocs.io/en/latest/overview.html

मैंने इसे अभी तक आज़माया नहीं है, इसलिए मैं एक पोस्ट की ओर इशारा करने जा रहा हूँ जहाँ पर इसे करने के सरल तरीके पर चर्चा की गई थी। हालांकि कुछ चीजें बदल भी सकती हैं और नहीं भी।

मैं cx_freeze का उपयोग कैसे करूं?


11
वर्थ उल्लेख, cxFreeze एकल-फ़ाइल निष्पादन योग्य नहीं करता है।
एडी हार्ट

7

मैं अपने पैकेज PySimpleGUI के साथ Nuitka और PyInstaller का उपयोग कर रहा हूं।

नुत्का वहाँ नुकीता के साथ संकलन करने के लिए टीक्टर हो रहे थे। प्रोजेक्ट योगदानकर्ताओं में से एक ने एक स्क्रिप्ट विकसित की जिसने समस्या को ठीक किया।

यदि आप टिंकर का उपयोग नहीं कर रहे हैं तो यह आपके लिए "बस काम" हो सकता है। यदि आप tkinter का उपयोग कर रहे हैं तो ऐसा कहें और मैं स्क्रिप्ट और निर्देशों को प्रकाशित करने का प्रयास करूंगा।

PyInstaller मैं 3.6 चला रहा हूँ और PyInstaller बढ़िया काम कर रहा है! अपनी exe फ़ाइल बनाने के लिए मैं जिस कमांड का उपयोग करता हूं वह है:

pyinstaller -wF myfile.py

-WF एक एकल EXE फ़ाइल बनाएगा। क्योंकि मेरे सभी कार्यक्रमों में एक GUI है और मैं विंडो को दिखाने के लिए कमांड नहीं करना चाहता, -w विकल्प कमांड विंडो को छिपा देगा।

यह पाइथन में लिखे गए चलाने के लिए एक Winforms प्रोग्राम की तरह लग रहा है के रूप में करीब है ।

[अपडेट २०-जुलाई -२०१ ९]

PySimpleGUI GUI आधारित समाधान है जो PyInstaller का उपयोग करता है। यह PySimpleGUI का उपयोग करता है। इसे pysimplegui- एक्सटेकर कहा जाता है और इसे स्थापित किया जा सकता है।

pip install PySimpleGUI-exemaker

स्थापित करने के बाद इसे चलाने के लिए:

python -m pysimplegui-exemaker.pysimplegui-exemaker


5

अब आप इसे PyInstaller का उपयोग करके परिवर्तित कर सकते हैं। मैं पायथन 3 के साथ भी काम करता हूं।

कदम:

  1. अपने पीसी को आग लगाओ
  2. ओपन कमांड प्रॉम्प्ट
  3. कमांड दर्ज करें pip install pyinstaller
  4. जब यह स्थापित हो जाता है, तो कार्यशील निर्देशिका में जाने के लिए कमांड 'सीडी' का उपयोग करें।
  5. चलाने के आदेश pyinstall <filename>

लोग इसे क्यों कम कर रहे हैं? मैं सिर्फ मदद के लिए इस जवाब को पोस्ट कर रहा हूं।
तेजस जोशी

3
क्योंकि यह पायथन 3.6 पर काम नहीं करता है, जो ओपी ने विशेष रूप से लिखा है कि वह उपयोग कर रहा है।
उरई

Pyinstaller को अब काम करना चाहिए। अगर ऐसा नहीं है, तो मुझे टिप्पणियों में बताएं
तेजस जोशी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.