2012-03-27 17 views
28

मैंने अपनी setup.py फ़ाइल को निर्देश के रूप में बनाया है लेकिन मैं वास्तव में नहीं समझता .. समझो कि आगे क्या करना है। कमांड लाइन में "python setup.py build" टाइप करना सिर्फ एक वाक्यविन्यास त्रुटि प्राप्त करता है।मैं cx_freeze का उपयोग कैसे करूं?

तो, मैं क्या करूँ?

setup.py:

from cx_Freeze import setup, Executable 

setup(
    name = "On Dijkstra's Algorithm", 
    version = "3.1", 
    description = "A Dijkstra's Algorithm help tool.", 
    exectuables = [Executable(script = "Main.py", base = "Win32GUI")]) 
+0

आप हमें 'setup.py', अपने अजगर संस्करण दिखा सकते हैं? – birryree

+0

किसके द्वारा निर्देशित? –

+0

@birryree: संपादित प्रश्न देखें। –

उत्तर

11

मैं सच में यकीन है कि क्या आपको लगता है कि त्रुटि प्राप्त करने के लिए कर रहे हैं नहीं कर रहा हूँ, यह आप तर्क के बिना, अपने आप ही cx_Freeze को चलाने के लिए कोशिश कर रहे हैं लग रहा है। तो यहाँ कैसे खिड़कियों में यह करने के लिए पर एक संक्षिप्त कदम-दर-कदम गाइड है (आपका स्क्रीनशॉट बल्कि खिड़कियों कमांड लाइन की तरह लग रहा है, इसलिए मुझे लगता है कि अपने मंच है संभालने हूँ)

  1. अपने setup.py लिखें फ़ाइल। उपरोक्त आपकी स्क्रिप्ट सही दिखती है, इसलिए यह मानना ​​चाहिए कि आपकी स्क्रिप्ट मौजूद है।

  2. ओपन कमांड लाइन (Start ->Run ->"cmd")

  3. अपने setup.py फ़ाइल का स्थान पर जाएं और चलाने python setup.py build

नोट्स:

  1. आपकी स्क्रिप्ट के नाम से कोई समस्या हो सकती है। "Main.py" में ऊपरी केस अक्षर होते हैं, जो भ्रम पैदा कर सकते हैं क्योंकि विंडोज़ फ़ाइल नाम केस संवेदनशील नहीं हैं, लेकिन पायथन है। मेरा दृष्टिकोण हमेशा किसी भी टकराव से बचने के लिए स्क्रिप्ट के लिए कम केस का उपयोग करना है।

  2. (http://docs.python.org/using/windows.html पढ़) 1

  3. मेक सुनिश्चित करें कि नया cx_Freeze documentation को देख रहे हैं कर रहे हैं लगता है कि अजगर अपने पथ पर है। Google अक्सर पुराने दस्तावेज़ लाता प्रतीत होता है।

+0

"पायथन" को आंतरिक या बाहरी कमांड, ऑपरेट करने योग्य प्रोग्राम या बैच फ़ाइल के रूप में पहचाना नहीं जाता है। " –

+1

मेरे उत्तर में नोट 2 देखें। – aquavitae

+0

"पायथन: फ़ाइल नहीं खोल सकता 'setup.py': [Errno 2] ऐसी कोई फ़ाइल या निर्देशिका नहीं है" टाइपिंग पायथन में पाइथन कमांड प्रॉम्प्ट को उम्मीद के रूप में प्राप्त होता है इसलिए मुझे उस त्रुटि को समझ में नहीं आता है। मेरी फाइल Python31 फ़ोल्डर में है। –

7

मैं एक समान मुद्दे में भाग गया। मैंने इसे परिवर्तनीय में निष्पादन योग्य विकल्पों को सेट करके और फिर चर को कॉल करके हल किया।

from cx_Freeze import setup, Executable 
import sys 

productName = "ProductName" 
if 'bdist_msi' in sys.argv: 
    sys.argv += ['--initial-target-dir', 'C:\InstallDir\\' + productName] 
    sys.argv += ['--install-script', 'install.py'] 

exe = Executable(
     script="main.py", 
     base="Win32GUI", 
     targetName="Product.exe" 
    ) 
setup(
     name="Product.exe", 
     version="1.0", 
     author="Me", 
     description="Copyright 2012", 
     executables=[exe], 
     scripts=[ 
       'install.py' 
       ] 
    ) 
29
  • नई आमदनी
  • आप अंतिम पंक्ति पर "निष्पादनयोग्य" गलत वर्तनी के रूप में import sys जोड़ें: नीचे एक नमूना setup.py है कि मैं का उपयोग करें।
  • पिछली लाइन पर script = हटाएं।

कोड अब देखो की तरह करना चाहिए:

import sys 
from cx_Freeze import setup, Executable 

setup(
    name = "On Dijkstra's Algorithm", 
    version = "3.1", 
    description = "A Dijkstra's Algorithm help tool.", 
    executables = [Executable("Main.py", base = "Win32GUI")]) 

उपयोग कमांड प्रॉम्प्ट (cmd) python setup.py build चलाने के लिए। (इस आदेश को setup.py युक्त फ़ोल्डर से चलाएं।) स्क्रिप्ट कॉल के अंत में जोड़े गए build पैरामीटर पर ध्यान दें।

+1

आधार का उद्देश्य क्या है, और यदि मैं अपने निष्पादन योग्य एकाधिक प्लेटफ़ॉर्म पर चलाना चाहता हूं तो क्या होगा? – Max

7

आप सेटअप बदल सकते हैं।पीई कोड:

from cx_freeze import setup, Executable 
    setup(name = "foo", 
      version = "1.1", 
      description = "Description of the app here.", 
      executables = [Executable("foo.py")] 
     ) 

मुझे यकीन है कि यह काम करेगा। मैंने विंडोज 7 के साथ-साथ यूबंटू 12.04

2

पर cxfreeze स्क्रिप्ट ढूंढने और इसे चलाने के लिए कोशिश की है। यह आपके अन्य पायथन सहायक स्क्रिप्ट जैसे pip के समान पथ में होगा।

cxfreeze Main.py --target-dir dist

पर और अधिक पढ़ें: http://cx-freeze.readthedocs.org/en/latest/script.html#script

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