Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Crear .exe a partir de .py
#1
Hola buenas tengo un proyecto en .py (es una interfaz de usuario) y he visto en internet diferentes formas de convertirlo en un ejecutable .exe, con pyinstaller o py2exe por ejemplo. El problema es que me genera el ejecutable bien pero cuando intento abrirlo me abre la consola de comandos durante 2 segundos y se cierra sin mostrar mi ventana. He estado mirando y no encuentro nada parecido. Alguien puede echarme una mano por favor? Estoy trabajando con python 3.6 en anaconda.
Responder
#2
Hola. Es probable que ocurra una excepción y por ende el programa termine. Intenta corriento tu ejecutable desde la consola (cmd.exe) para ver el mensaje de error.
¡No te pierdas nuestro curso oficial en Udemy para aprender Python, bases de datos SQL, orientación a objetos, tkinter y mucho más!

También ofrecemos consultoría profesional de desarrollo en Python para personas y empresas.
Responder
#3
Hola buenas, aprovecho este hilo para preguntar sobre la creación de un EXE a partir de un .py, mi problema es que cuando la aplicación era una simple ventana hice una prueba con PYINSTALLER y me creo bien el ejecutable, funcionaba perfectamente. Pero ahora la aplicación es mas completa e incluye varias librerías como pandas, tkinter, y mas... el caso es que ahora cuando creo el exe, intento ejecutarlo y me lanza el siguiente mensaje de error:

"Failed to execute script nombre.py"

Como podría arreglarlo? Saludos.

PD: Si intento ejecutar el EXE en consola me saltan los siguientes errores:

(base) C:\Users\Alfredo\Desktop\Ejemplo TKINTER\dist\ventana_prueba>ventana_prueba.exe
Traceback (most recent call last):
File "site-packages\pandas\__init__.py", line 26, in <module>
File "c:\users\alfredo\anaconda3\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 631, in exec_module
exec(bytecode, module.__dict__)
File "site-packages\pandas\_libs\__init__.py", line 4, in <module>
File "c:\users\alfredo\anaconda3\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 714, in load_module
module = loader.load_module(fullname)
File "pandas/_libs/tslib.pyx", line 1, in init pandas._libs.tslib
ModuleNotFoundError: No module named 'pandas._libs.tslibs.timedeltas'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "ventana_prueba.py", line 22, in <module>
File "c:\users\alfredo\anaconda3\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 631, in exec_module
exec(bytecode, module.__dict__)
File "site-packages\pandas\__init__.py", line 35, in <module>
ImportError: C extension: No module named 'pandas._libs.tslibs.timedeltas' not built. If you want to import pandas from the source directory, you may need to run 'python setup.py build_ext --inplace --force' to build the C extensions first.
[18452] Failed to execute script ventana_prueba
Responder
#4
He conseguido arreglar ese fallo pero ahora tengo otro:

This application failed to start because it could not find or load the Qt platform plugin "windows"
in "".

Reinstalling the application may fix this problem.

He estado leyendo mil cosas sobre este tipo de error en Internet pero no he conseguido solucionarlo, hablan del tema de las rutas... que están mal o algo así. Alguien ha conseguido solucionar este error?
Responder
#5
Hola, el problema generalmente es que PyInstaller no sabe cuáles son las dependencias que tu programa requiere y por ende no las incluye en el ejecutable final. Hace un tiempo tuve un problema similar con cx-Freeze, que me pareció el método más eficiente a la hora de crear un ejecutable a partir de un programa hecho con Qt, NumPy y Matplotlib, aunque tampoco quedé muy satisfecho con el resultado.

Te recomiendo que pruebes con cx-Freeze, en particular las opciones "includes" e "include_files", que permiten indicar qué módulos y dependencias requiere tu programa.

Saludos!
¡No te pierdas nuestro curso oficial en Udemy para aprender Python, bases de datos SQL, orientación a objetos, tkinter y mucho más!

También ofrecemos consultoría profesional de desarrollo en Python para personas y empresas.
Responder
#6
Aparte de incluir las librerias ya sea con cx_Freeze o pyinstaller me da estos warnings, nose si son importantes o que:

207192 WARNING: lib not found: mpich2mpi.dll dependency of C:\Users\Alfredo\Anaconda3\Library\bin\mkl_blacs_mpich2_lp64.dll
207329 WARNING: lib not found: mpich2mpi.dll dependency of C:\Users\Alfredo\Anaconda3\Library\bin\mkl_blacs_mpich2_ilp64.dll
208134 WARNING: lib not found: impi.dll dependency of C:\Users\Alfredo\Anaconda3\Library\bin\mkl_blacs_intelmpi_lp64.dll
208319 WARNING: lib not found: impi.dll dependency of C:\Users\Alfredo\Anaconda3\Library\bin\mkl_blacs_intelmpi_ilp64.dll
208881 WARNING: lib not found: msmpi.dll dependency of C:\Users\Alfredo\Anaconda3\Library\bin\mkl_blacs_msmpi_ilp64.dll
210697 WARNING: lib not found: pgc14.dll dependency of C:\Users\Alfredo\Anaconda3\Library\bin\mkl_pgi_thread.dll
210775 WARNING: lib not found: pgf90rtl.dll dependency of C:\Users\Alfredo\Anaconda3\Library\bin\mkl_pgi_thread.dll
210851 WARNING: lib not found: pgf90.dll dependency of C:\Users\Alfredo\Anaconda3\Library\bin\mkl_pgi_thread.dll
211273 WARNING: lib not found: msmpi.dll dependency of C:\Users\Alfredo\Anaconda3\Library\bin\mkl_blacs_msmpi_lp64.dll
213013 WARNING: lib not found: tbb.dll dependency of C:\Users\Alfredo\Anaconda3\Library\bin\mkl_tbb_thread.dll

He intentado empaquetar con CX_FREEZE y no lo consigo
Responder
#7
Hola, sí es importante que consigas todas las dependencias (esto es, todas las librerías listadas) y las ubiques junto a tu ejecutable.
¡No te pierdas nuestro curso oficial en Udemy para aprender Python, bases de datos SQL, orientación a objetos, tkinter y mucho más!

También ofrecemos consultoría profesional de desarrollo en Python para personas y empresas.
Responder


Salto de foro:


Usuarios navegando en este tema: 3 invitado(s)