Saltar al contenido

Convertir PY a EXE

Empaquetar archivos de código fuente de Python como ejecutables de Windows con PyInstaller y alternativas compatibles.

Convierte archivos PY en línea

Todavía no tenemos un conversor en línea específico para PY a EXE, pero puedes convertir archivos PY en línea a estos formatos:

¿Quiere convertir PY a EXE?

Háganoslo saber. Elegimos qué conversiones añadir a continuación según el interés.

Cómo convertir un archivo py a exe

Un usuario de Windows puede necesitar ejecutar un programa de Python sin instalar Python ni sus paquetes. Empaquetar el programa como un EXE crea una aplicación de Windows distribuible, aunque no hace que el programa sea portátil a otros sistemas operativos.

Qué es el formato PY

.py es la extensión de archivo de código fuente para los programas de Python. Los desarrolladores escriben archivos PY en editores y IDE como Visual Studio Code, PyCharm, IDLE o Notepad++, y luego los ejecutan con el intérprete de Python o los importan como módulos.

Un archivo PY contiene código fuente de Python legible, no un ejecutable de Windows. Normalmente, para ejecutarlo se necesita una versión compatible de Python y todas las dependencias utilizadas por el programa, como requests, PyQt6 o pandas. Los desarrolladores de Python, analistas de datos, autores de automatización y desarrolladores de aplicaciones de escritorio suelen utilizar este formato.

Qué es el formato EXE

.exe es la extensión de nombre de archivo habitual para un ejecutable de Windows, que generalmente utiliza el formato Windows Portable Executable. Windows puede iniciar un EXE directamente, por lo que normalmente los destinatarios no necesitan una instalación independiente de Python cuando el intérprete, las bibliotecas y los archivos de la aplicación se han empaquetado con él.

El empaquetado como EXE es adecuado para utilidades de escritorio, aplicaciones gráficas, herramientas internas e instaladores. Un EXE normalmente es específico de Windows; crear uno no genera una aplicación para macOS, Linux, Android o la web.

Cómo crear un EXE con PyInstaller

  1. Utiliza una máquina de desarrollo con Windows y con la versión y arquitectura de Python requeridas por la aplicación. Si es posible, crea y activa un entorno virtual; después instala las dependencias de la aplicación y PyInstaller:

python -m pip install -r requirements.txt
python -m pip install pyinstaller

  1. Abre un terminal en el directorio del proyecto que contiene el script de entrada:

cd C:\path\to\project

  1. Crea una aplicación de consola como un solo archivo:

pyinstaller --onefile app.py

El ejecutable normalmente se crea como dist\app.exe. Sin --onefile, PyInstaller crea una distribución en un directorio que contiene el EXE y sus dependencias. La forma basada en directorio normalmente se inicia más rápido y es más fácil de diagnosticar; la forma de un solo archivo es más sencilla de copiar, pero extrae los componentes incluidos en un directorio temporal cuando se inicia.

  1. Para una aplicación gráfica que no debe abrir una ventana de consola, establece un nombre y un icono opcional:

pyinstaller --onefile --windowed --name MyProgram --icon app.ico app.py

Utiliza la compilación de consola mientras diagnosticas errores. --windowed oculta la consola, por lo que los mensajes que imprime el programa ya no son visibles en un terminal.

  1. Prueba dist\MyProgram.exe en un equipo Windows limpio o en una máquina virtual. Un equipo de desarrollo puede ocultar la ausencia de archivos porque ya tiene instalados paquetes de Python, variables de entorno o directorios del proyecto.

Incluir archivos e importaciones dinámicas

PyInstaller detecta muchas importaciones normales, pero los módulos cargados dinámicamente, las plantillas, las imágenes, los archivos de configuración, los plugins y otros recursos pueden requerir opciones explícitas. En Windows, añade un directorio de recursos con:

pyinstaller --onefile --add-data "assets;assets" app.py

El punto y coma separa la ruta de origen de la ruta de destino en Windows; utiliza dos puntos al crear la compilación en macOS o Linux. Añade un módulo que el análisis automático no haya detectado con --hidden-import package_name. Para compilaciones repetibles, inspecciona el archivo app.spec generado, edita sus opciones de datos e importaciones ocultas y créalo con pyinstaller app.spec.

Herramientas gráficas y alternativas

auto-py-to-exe es una interfaz gráfica para PyInstaller. Instálala e iníciala con:

python -m pip install auto-py-to-exe
auto-py-to-exe

Selecciona el script, elige Onefile o One Directory, selecciona Console Based o Window Based, añade archivos de datos y un icono, y luego utiliza Convert .py to .exe. La interfaz genera un comando de PyInstaller que se puede conservar en un script de compilación.

cx_Freeze es otra opción de empaquetado local. Instálalo con python -m pip install cx-Freeze y configura el script de entrada, los paquetes incluidos, los archivos y el tipo base en su configuración de compilación documentada. Generalmente produce una distribución en un directorio, en lugar del mismo flujo de trabajo de un solo archivo utilizado habitualmente con PyInstaller.

Los convertidores basados en navegador no son adecuados para la mayoría de los archivos PY: requieren cargar el código fuente, no pueden reproducir de forma fiable el entorno virtual de un proyecto ni sus dependencias nativas, y pueden exponer credenciales o lógica propietaria. Utiliza PyInstaller, auto-py-to-exe o cx_Freeze localmente para proyectos privados o con muchas dependencias, en lugar de un servicio en línea no verificado.

Limitaciones de compatibilidad y seguridad

El empaquetado no es una conversión del código fuente ni una compilación en código nativo universalmente portátil. PyInstaller incluye el bytecode de Python, el intérprete, las bibliotecas nativas y los archivos de la aplicación en un EXE o en un directorio de distribución adyacente. El bytecode incluido a menudo se puede extraer o inspeccionar, por lo que un EXE no constituye una protección fiable del código fuente.

Crea una compilación independiente para cada sistema operativo de destino: un EXE de Windows no se ejecuta de forma nativa en macOS o Linux. Crea la compilación para una arquitectura de Windows compatible e instala las dependencias compiladas para la misma versión y arquitectura de Python antes del empaquetado. Por lo general, una compilación de 64 bits no puede ejecutarse en Windows de 32 bits.

Las aplicaciones de un solo archivo pueden iniciarse más lentamente porque se descomprimen al arrancar y pueden generar advertencias de antivirus incorrectas. La firma de código con un certificado de confianza puede reducir las advertencias de seguridad de Windows, pero no puede garantizar la aceptación por parte del antivirus. Incluye una licencia y avisos de dependencias cuando los paquetes incluidos en la aplicación lo requieran.

PY vs EXE: comparación de formatos

Cómo se comparan los formatos PY y EXE en las propiedades que más importan para esta conversión.

Comparación de los formatos de archivo PY y EXE
Propiedad .PY Python source file .EXE Portable Executable
Estándar abierto Sí No
Compresión Sin compresión Sin compresión
Tamaño de archivo típico Pequeño Grande
Se abre en un navegador web No No
Edición posterior Fácil No editable directamente
Compatibilidad con metadata Ninguno Amplio
Legible como texto plano Sí No
Más adecuado para Edición y posproducción Incrustación en aplicaciones
Introducido 1991 1993
Desarrollador Python Software Foundation Microsoft
Tipo MIME text/x-python —

La información sobre extensiones y tipos de archivo la proporciona File-Extensions.org

Otras conversiones de archivos .py

Conversión inversa

Convertir a .exe
desde otros formatos

Compartir en redes sociales:

Ya descargado

Este archivo ya se ha descargado. Para proteger tu privacidad, lo borramos de nuestro servidor justo después de la descarga, así que no se puede volver a descargar. Si lo necesitas otra vez, vuelve a convertir el archivo.