py2exe intenta crear un gráfico de todas las dependencias, comenzando con su script de punto de entrada. No siempre se puede obtener al 100% de la razón, por lo que se le proporcionan las opciones includes
y excludes
para ajustar el paquete.
referencia a las opciones aquí: http://www.py2exe.org/index.cgi/ListOfOptions
módulos veces que no quería ser incluido será y si esto sucede hay que añadirlas a la exclusión. Supongo que la respuesta a su pregunta sería: administre el archivo setup.py de forma manual cuando las opciones listas para usar no lo empaquetan exactamente como lo desea.
Los archivos de ayuda para py2exe incluyen realmente un montón de consejos y trucos ... uno específicamente direccionamiento su problema con Tk incluyéndose: http://www.py2exe.org/index.cgi/TkInter
El índice de los consejos y trucos es aquí: http://www.py2exe.org/index.cgi/Py2Exe
Construí un montón de aplicaciones usando el py2app
muy similar para osx. En el transcurso de diferentes versiones, a veces cambian la forma en que descubre las dependencias. También usa varias "recetas" sobre cómo manejar ciertos paquetes como Qt. Una versión más nueva de p2app de repente comenzó a incluir todos los módulos de PyQt en lugar de solo los dos que utilicé. Entonces, tuve que agregarlos a mis exclusiones.
¿Pero por qué maneja paquetes populares como pandas? – user3841581
@ user3841581 ¿Estás preguntando por qué no maneja pandas automáticamente? – jdi
Sí, incluso cuando lo incluyo en las inclusiones del archivo setup.py. Cuando intento hacer el archivo ejecutable. Hace que el archivo desaparezca, pero cuando lo ejecuto. Cuando lo pongo en modo de depuración, veo que desaparece porque. – user3841581