Saltar al contenido

OSError: [WinError 193] %1 no es una aplicación Win32 válida

Nuestros programadores estrellas agotaron sus reservas de café, por su búsqueda diariamente por la solución, hasta que Miriam encontró la contestación en GitLab y en este momento la comparte contigo.

Solución:

El error es bastante claro. El archivo hello.py no es un archivo ejecutable. Debe especificar el ejecutable:

subprocess.call(['python.exe', 'hello.py', 'htmlfilename.htm'])

Necesitarás python.exe para que sea visible en la ruta de búsqueda, o puede pasar la ruta completa al archivo ejecutable que ejecuta el script de llamada:

import sys
subprocess.call([sys.executable, 'hello.py', 'htmlfilename.htm'])

Los instaladores de Python suelen registrar archivos .py en el sistema. Si ejecuta el shell explícitamente, funciona:

import subprocess
subprocess.call(['hello.py', 'htmlfilename.htm'], shell=True)
# --- or ----
subprocess.call('hello.py htmlfilename.htm', shell=True)

Puede verificar sus asociaciones de archivos en la línea de comando con

C:>assoc .py
.py=Python.File

C:>ftype Python.File
Python.File="C:Python27python.exe" "%1" %*

Recibí el mismo error cuando olvidé usar shell=True en el subprocess.call.

subprocess.call('python modify_depth_images.py', shell=True)

Ejecutar comando externo

Para ejecutar un comando externo sin interactuar con él, como se haría con os.system()Utilizar el call() función.

import subprocess

Simple command subprocess.call(['ls', '-1'], shell=True)

Si estás de acuerdo, puedes dejar un enunciado acerca de qué le añadirías a este escrito.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *