python - tutorial - Pyinstaller: generate-exe file+folder(en modooneone)
python executable linux (1)
Ahora estoy trabajando con Pyinstaller. Tengo un script que obtiene imágenes de una carpeta img ..
/python
|----/img
|----|----icon1.ico
|----|----icon2.ico
|----maint.py
Mi script para generar .exe es
pyinstaller.py --windowed --noconsole --clean --onefile maint.py
el problema es que solo genera el archivo .exe pero se omite toda la carpeta / img.
Pregunta: ¿qué sintaxis adicional debo poner en la línea anterior para obtener automáticamente la carpeta del archivo .exe + / img?
Actualización 18/12/2013
Quiero decir: que después de la ejecución de la secuencia de comandos pyinstaller.py, con todos los argumentos, debo ver en la carpeta / dist: el archivo .exe + la carpeta / img con todos los iconos o archivos de mapas de bits que tengo para mi aplicación
Gracias
Actualización 19/12/2013
Finalmente, lo tenemos!
0. Estoy trabajando con la versión actual de PYInstaller + Python 2.67 con Sublime Text como Editor.
1. En caso de que su script Py requiera algunos archivos, iconos, imágenes, debe incluir una función que recupere estos archivos de la carpeta del proyecto (en desarrollo) o forme la carpeta de datos temporales (en caso de implementación). Este script DEBE estar en su código exactamente en la parte en la que coloca las rutas de los parientes para obtener los recursos. Siga exactamente esta directriz: https://.com/a/13790741
2. Después del código anterior, debe ejecutar por primera vez el comando de pyinstaller, como publico en mi publicación de pregunta.
3. Ahora, abra su archivo .spec generado después de la ejecución del comando PYInstaller (ubicado en PYinstaller /) y agregue, después de la línea "a.binaries", la siguiente línea en la función EXE ():
exe = EXE(pyz,
a.scripts,
a.binaries,
Tree(''..//python//images'', prefix=''images//'),
....
Tenga en cuenta que en la función Tree (...) el primer argumento es la carpeta para colocar afuera: lo que significa que quiero incluir todo el contenido de esta carpeta (observe que estoy colocando una ruta relativa con respecto a AppStart). archivo py) en el contenedor del archivo .EXE de mi archivo.
4. Después de esa modificación, vuelva a ejecutar el comando de pyinstaller, pero en este caso, apunte a mi archivo .SPEC:
pyinstaller.py --windowed --noconsole --clean --onefile AppStart/AppStart.spec
Y finalmente mi aplicación se puede ejecutar como ejecutable sin necesidad de copiar y pegar todas las carpetas externas como alguien mencionó. Pero como siempre, considero la manera buena y práctica.
Gracias por su apoyo.