Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Error PyInstaller: FormatMessageW failed
#1
Big Grin 
Buenas tardes Amigos, necesito ayuda, genere un .exe con pyinstaller lo cual lo hizo bien y  puedo ejecutarlo en mi pc la cual tiene Windows 10, pero cuando quise ejecutarlo en otra pc  que tambien tiene windows 10 me tira el siguiente error error:

error loading python DLL
'C:\Users\it\AppData\Local\Temp\1\_MEI86082\python310.dll'
loadlibarry:pyinstaller:FormatMessageW failed


aguardo sus comentario y desde ya mil gracias


Saludos
Responder
#2
Hola, Sergio, bienvenido.

¿Estás ejecutando el .exe generado en la carpeta "build" o en la carpeta "dist"?

Saludos
Responder
#3
(13-05-2022, 01:27 AM)Francisco escribió: Hola, Sergio, bienvenido.

¿Estás ejecutando el .exe generado en la carpeta "build" o en la carpeta "dist"?

Saludos

Hola Francisco, lo ejecuta en la carpeta dist.


Saludos
Responder
#4
Hola, Sergio.

Ese error generalmente ocurre cuando creás el ejecutable con una versión de Python que no soporta la versión de Windows donde finalmente corre ese ejecutable. No parecería ser el caso porque mencionaste que ambas PCs tienen Windows 10. ¿Cuál es exactamente el comando de PyInstaller que estás invocando para crear el .exe? ¿Cuál es la versión de Python? ¿Es de 32 o 64 bit? ¿Ambos Windows 10 son de 64 bit?

Saludos
Responder
#5
Hola Francisco, el comando de pyinstaller es pyinstaller.exe --windowed --icon=C:\ok\shell.ico SHELL.py , la versión es Python 3.10.4 y es de 64 bit y la pc en donde la quiero ejecutar también tiene windows 10 de 64 bit.

Gracias
Responder
#6
Buenas tardes, gracias Francisco por tus comentario, encontré la solución por el cual no funcionaba en otras pc.

El error estaba cuando quería encontrar las imágenes, en el código solo tenia la ruta en donde estaban las imágenes, pero por algún motivo no las encontraba pyintaller, la solución que encontré en internet fue este def:

Código:
def resolver_ruta(ruta_relativa):
    if hasattr(sys, '_MEIPASS'):
        return os.path.join(sys._MEIPASS, ruta_relativa)
    return os.path.join(os.path.abspath('.'), ruta_relativa)

gracias a este código pyinistaller pudo encontrar las imágenes, y con eso puedo distribuir el .exe el cual funciona en cualquier pc.

Gracias Francisco.

Saludos
Responder
#7
Excelente, Sergio. Me alegra que hayas dado con la solución (un poco críptico el error de PyInstaller...) y que la hayas compartido aquí.

Saludos
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)