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)
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.
Abra la línea de comando (
Start
->Run
->"cmd"
)Vaya a la ubicación de su archivo setup.py y ejecute la
python setup.py build
Notas:
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.
Asegúrate de que python esté en tu PATH (lee http://docs.python.org/using/windows.html ) http://docs.python.org/using/windows.html
Asegúrese de que están mirando la nueva documentation cx_Freeze. Google a menudo parece mostrar los documentos antiguos.
encuentra el script cxfreeze
y cxfreeze
. Estará en la misma ruta que tus otras secuencias de comandos de ayuda de python, como pip
.
cxfreeze Main.py --target-dir dist
lea más en: http://cx-freeze.readthedocs.org/en/latest/script.html#script
- 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.