2012-03-27 27 views
28

Ho creato il mio file setup.py come da istruzioni, ma in realtà non ... comprendo cosa fare dopo. Digitando "python setup.py build" nella riga di comando si ottiene solo un errore di sintassi.Come si usa cx_freeze?

Quindi, cosa devo fare?

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

ci mostri la 'setup.py', la tua versione di Python? – birryree

+0

Come indicato da chi? –

+0

@birryree: vedere la domanda modificata. –

risposta

11

Io non sono davvero sicuro di quello che stai facendo per ottenere tale errore, sembra che si sta cercando di eseguire cx_Freeze da sola, senza argomenti. Così qui è una breve guida passo-passo su come farlo in finestre (Il tuo screenshot sembra piuttosto come la linea di comando di Windows, quindi sto assumendo che questo sia la vostra piattaforma)

  1. Scrivi la setup.py file. Lo script sopra sembra corretto, quindi dovrebbe funzionare, assumendo che lo script esista.

  2. Aprire la linea di comando (Start ->Run ->"cmd")

  3. Vai alla posizione del file setup.py ed eseguire python setup.py build

Note:

  1. Potrebbe esserci un problema con il nome del tuo script. "Main.py" contiene lettere maiuscole, che potrebbero causare confusione poiché i nomi dei file di Windows non sono case sensitive, ma python lo è. Il mio approccio è di usare sempre lettere minuscole per gli script per evitare qualsiasi conflitto.

  2. Assicurarsi che pitone è sul vostro cammino (leggere http://docs.python.org/using/windows.html) 1

  3. Assicurarsi che si stanno guardando la nuova cx_Freeze documentation. Google sembra spesso richiamare i vecchi documenti.

+0

"python" non è riconosciuto come comando interno o esterno, programma eseguibile o file batch. " –

+1

Vedere la nota 2 nella mia risposta. – aquavitae

+0

"python: impossibile aprire il file 'setup.py': [Errno 2] Nessun file o directory di questo tipo" Digitare python in ottiene il prompt dei comandi di Python come previsto, quindi non capisco quell'errore. Il mio file si trova nella cartella Python31. –

7

Mi sono imbattuto in un problema simile. L'ho risolto impostando le opzioni eseguibili in una variabile e quindi semplicemente chiamando la variabile. Di seguito è riportato un setup.py esempio che io uso:

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
  • Aggiungi import sys come la nuova linea dorsale
  • Hai scritto male "eseguibili" sull'ultima riga.
  • Rimuovere script = sull'ultima riga.

Il codice dovrebbe apparire come:

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")]) 

Utilizzare il prompt dei comandi (cmd) per eseguire python setup.py build. (Esegui questo comando dalla cartella contenente setup.py.) Si noti il ​​parametro build aggiunto alla fine della chiamata di script.

+1

Qual è lo scopo della base e cosa succede se voglio che il mio eseguibile venga eseguito su più piattaforme? – Max

7

È possibile modificare l'impostazione.codice a questo codice:

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

Sono sicuro che funzionerà. Ho provato su Windows 7 e su Ubuntu 12.04