¿Cómo se utiliza cx_freeze?

I've creado mi archivo setup.py como se indica, pero en realidad don't.. entender qué hacer a continuación. Escribiendo "python setup.py build" en la línea de comandos sólo obtiene un error de sintaxis.

Entonces, ¿qué debo hacer?

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")])
  • Añade import sys como nueva línea superior
  • Has escrito mal "ejecutables" en la última línea.
  • Elimine script = en la última línea.

Ahora el código debería tener el siguiente aspecto

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

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

Comentarios (1)

Realmente no estoy seguro de lo que estás haciendo para obtener ese error, parece que estás intentando ejecutar cx_Freeze por sí solo, sin argumentos. Aquí tienes una breve guía paso a paso sobre cómo hacerlo en Windows (tu captura de pantalla se parece bastante a la línea de comandos de Windows, así que asumo que ésa es tu plataforma).

  1. Escribe tu archivo setup.py. Tu script de arriba parece correcto así que debería funcionar, asumiendo que tu script existe.

  2. Abre la línea de comandos (Start -> Run -> "cmd")

  3. Ve a la ubicación de tu archivo setup.py y ejecuta python setup.py build.

Notas:

  1. Puede haber un problema con el nombre de su script. "Main.py" contiene letras mayúsculas, lo que podría causar confusión ya que windows' nombres de archivo no son sensibles a mayúsculas, pero python es. Mi enfoque es utilizar 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)[1]

  3. Asegúrate de que estás viendo la nueva [documentación] de cx_Freeze2. Google a menudo parece traer la documentación antigua.

Comentarios (6)

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 setup.py que utilizo:

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'
               ]
      ) 
Comentarios (0)