template setup msi instalar files fatal error cx_freeze python cx-freeze

python - setup - py2exe



¿Cómo uso cx_freeze? (5)

Me encontré con un problema similar. Lo resolví estableciendo las opciones de Ejecutable en una variable y luego simplemente llamando a la variable. A continuación se muestra un ejemplo de setup.py que 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'' ] )

Creé mi archivo setup.py como se me indicó, pero en realidad no entiendo qué hacer a continuación. Al escribir "python setup.py build" en la línea de comando solo se obtiene un error de sintaxis.

¿Entonces qué hago?

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


Puedes cambiar el código de setup.py a este:

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

Estoy seguro de que funcionará. Lo he probado tanto en Windows 7 como en Ubuntu 12.04


Realmente no estoy seguro de lo que estás haciendo para obtener ese error, parece que estás tratando de ejecutar cx_Freeze por sí mismo, sin argumentos. Así que aquí hay una breve guía paso a paso sobre cómo hacerlo en Windows (su captura de pantalla se parece más a la línea de comandos de Windows, así que supongo que esa es su plataforma)

  1. Escriba su archivo setup.py. Su secuencia de comandos de arriba parece correcta, por lo que debería funcionar, suponiendo que exista su secuencia de comandos.

  2. Abra la línea de comando ( Start -> Run -> "cmd" )

  3. Vaya a la ubicación de su archivo setup.py y ejecute la python setup.py build

Notas:

  1. Puede haber un problema con el nombre de su script. "Main.py" contiene letras mayúsculas, lo que puede causar confusión ya que los nombres de los archivos de Windows no distinguen entre mayúsculas y minúsculas, pero Python sí. Mi enfoque es usar siempre minúsculas para los scripts para evitar cualquier conflicto.

  2. Asegúrate de que python esté en tu PATH (lee http://docs.python.org/using/windows.html ) http://docs.python.org/using/windows.html

  3. Asegúrese de que están mirando la nueva documentation cx_Freeze. Google a menudo parece mostrar los documentos antiguos.



  • Agregar import sys como la nueva línea superior
  • Escribió mal "ejecutables" en la última línea.
  • Eliminar script = en la última línea.

El código ahora debería verse así:

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

Use el símbolo del sistema ( cmd ) para ejecutar la python setup.py build . (Ejecute este comando desde la carpeta que contiene setup.py .) Observe el parámetro de build que agregamos al final de la llamada al script.