“pyinstaller” no se reconoce como un comando interno o externo

publicado por: Anonymous

Estoy tratando de crear el archivo .exe de mi programa desarrollado en Python usando Tkinter, instale por medio de PIP PyInstaller pero no he podido crear mi archivo, al momento de utilizar la sentencia:

pyinstaller --onefile index.py

me muestra el siguiente error:

"pyinstaller" no se reconoce como un comando interno o externo, programa o archivo por lotes ejecutable.

debo aclarar también que esta sentencia la he utilizado desde la ruta donde se encuentran los scrips de PyInstaller y también en la ruta donde se encuentra mi archivo.

Utilizo Windows 10, python 3.7, tkinter y PyInstaller 3.6

solución

El error se produce porque el ejecutable no está en el directorio de trabajo actual ni está agregado al PATH. Tienes varias opciones:

Agregar la ruta del script al PATH

La el ejecutable de pyinstaller se aloja en PythonXYScripts, en tu caso Python37Scripts. La ruta generalmente es en Windows:

C:Users%USERNAME%AppDataRoamingPythonPython37Scripts

Ejecutar pyinstaller.exe proveyendo la ruta adecuada al ejecutable

  • Puedes abrir la terminal en la ruta antes mencionada, dónde debe estar pyinstaller.exe (en el explorador de archivos abres el directorio Scripts y en al barra de direcciones introduces cmd y pulsas Enter) y luego simplemente usar:

    pyinstaller --onefile index.py 
    
  • Puedes usar cd para colocar el directorio de trabajo de la consola en ese directorio y luego simplemente usar:

    pyinstaller --onefile index.py 
    
  • Puedes ejecutar directamente usando la ruta absoluta:

    C:Users%USERNAME%AppDataRoamingPythonPython37Scriptspyinstaller --onefile index.py `
    

Nota: obviamente hay que cambiar %USERNAME% por el usuario de turno, si la ruta de instalación de Python no fuera esa, podemos obtenerla mediante import sys; print(sys.executable) en un intérprete interactivo o en un script.

Lanzar PyInstaller directamente como módulo

py -3.7 -m PyInstaller --onefile index.py 
Respondido por: Anonymous

Leave a Reply

Your email address will not be published.