¿Cómo puedo convertir un .py a .exe para Python?

11 minutos de lectura

¿Como puedo convertir un py a exe para Python
usuario7396807

Estoy tratando de convertir un programa de Python bastante simple en un ejecutable y no pude encontrar lo que estaba buscando, así que tengo algunas preguntas (estoy ejecutando Python 3.6):

Los métodos para hacer esto que he encontrado hasta ahora son los siguientes

  1. descargando una versión antigua de Python y usando pyinstaller/py2exe
  2. configurando un entorno virtual en Python 3.6 que me permitirá hacer 1.
  3. descargando un convertidor de Python a C++ y usándolo.

Esto es lo que he intentado/con qué problemas me he encontrado.

  • lo instalé pyinstaller antes de la descarga requerida antes (pypi-algo) por lo que no funcionó. Después de descargar el archivo de requisitos previos, pyinstaller aun no lo reconoce.
  • Si estoy configurando un virtualenv en Python 2.7, ¿realmente necesito tener instalado Python 2.7?
  • De manera similar, los únicos convertidores de Python a C++ que veo funcionan solo hasta Python 3.5. ¿Necesito descargar y usar esta versión si intento esto?

  • No estoy seguro de por qué esto está rechazado (tal vez porque las recomendaciones de herramientas están fuera de tema para SO), pero esta pregunta será útil para otros en el futuro. Las preguntas anteriores similares no se han marcado como fuera de tema, por ejemplo, stackoverflow.com/questions/2136837/…

    – Chris_Rands

    11 de enero de 2017 a las 14:54

  • Posible duplicado de ¿Cómo hacer que un script de Python sea ejecutable independiente para ejecutarse sin CUALQUIER dependencia?

    – Stevoisiak

    27 de febrero de 2018 a las 18:54

  • También puedes ver el tema: Como cambiar .py a .exe

    – Milovan Tomašević

    24 de enero de 2021 a las 11:51


¿Como puedo convertir un py a exe para Python
María Irudaya Regilán J.

Pasos para convertir .py a .exe en Python 3.6

  1. Instalar en pc Pitón 3.6.
  2. Instale cx_Freeze, (abra su símbolo del sistema y escriba pip install cx_Freeze.
  3. Instale idna, (abra su símbolo del sistema y escriba pip install idna.
  4. Escribe un .py programa llamado myfirstprog.py.
  5. Cree un nuevo archivo python llamado setup.py en el directorio actual de su script.
  6. En el setup.py archivo, copie el código a continuación y guárdelo.
  7. Con shift presionado, haga clic derecho en el mismo directorio, para que pueda abrir una ventana del símbolo del sistema.
  8. En el indicador, escriba python setup.py build
  9. Si su secuencia de comandos está libre de errores, entonces no habrá ningún problema al crear la aplicación.
  10. Revisa la carpeta recién creada build. Tiene otra carpeta dentro. Dentro de esa carpeta puede encontrar su aplicación. Ejecutarlo. Hazte feliz.

Ver el guión original en mi Blog.

configuración.py:

from cx_Freeze import setup, Executable

base = None    

executables = [Executable("myfirstprog.py", base=base)]

packages = ["idna"]
options = {
    'build_exe': {    
        'packages':packages,
    },    
}

setup(
    name = "<any name>",
    options = options,
    version = "<any number>",
    description = '<any description>',
    executables = executables
)

EDITAR:

  • estar seguro de que en lugar de myfirstprog.py deberías poner tu .pynombre de archivo de extensión tal como se creó en etapa 4;
  • debes incluir cada importpaquete ed en su .py dentro packages lista (ej.: packages = ["idna", "os","sys"])
  • any name, any number, any description en setup.py El archivo no debe permanecer igual, debe cambiarlo en consecuencia (por ejemplo:name = "<first_ever>", version = "0.11", description = '' )
  • los importLos paquetes ed deben instalarse antes de comenzar paso 8.

  • ¿Hay alguna manera de hacerlo ejecutable ‘independiente’? Si procedo como usted aconseja en su artículo, termino con la carpeta exe.win.32-3.6. que está lleno de archivos y directorios de apoyo (como ‘colecciones/’, ‘correo electrónico’, etc.). Horrible mucho para una simple impresión (‘hola’). Me gustaría hacer un solo archivo ejecutable, que se ejecutará en otra computadora tal como está, sin la necesidad de otros archivos. ¿Hay una opción de compilación para eso?

    – FanaticD

    31 de agosto de 2017 a las 9:07

  • cx_freeze ImportError: ningún módulo llamado ‘idna’

    – No

    27 de octubre de 2017 a las 4:51


  • @FanaticD Python no es tu mejor opción. Cython (una pesadilla para trabajar) o Nuitka serían su mejor opción. Pero hacer que funcionen es un logro en sí mismo.

    – Tétora

    30 oct 2017 a las 13:31

  • ¿Funcionaría esto en Python 3.5.3? (La última versión estable en Debian 9 Stretch).

    – Unix

    20 de agosto de 2018 a las 22:03

  • ¿Cómo importaría? from sklearn.externals import joblib? como se menciona en la edición, paso 2.

    – Jack

    22 de agosto de 2018 a las 1:31

¿Como puedo convertir un py a exe para Python
Rodrigo Nascimento

Python 3.6 es compatible con PyInstaller.

Abra una ventana cmd en su carpeta de Python (abra una ventana de comando y use cd o mientras mantiene presionada la tecla Mayús, haga clic derecho en el Explorador de Windows y seleccione ‘Abrir ventana de comandos aquí’). Entonces solo ingresa

pip install pyinstaller

Y eso es.

La forma más sencilla de usarlo es ingresando en su símbolo del sistema

pyinstaller file_name.py

Para obtener más detalles sobre cómo usarlo, eche un vistazo a esta pregunta.

  • recién probado con python 3.7.0. Sin embargo, muchas advertencias, pero se compilaron correctamente y se ejecutan en Windows 10

    – Ole_S

    21 de enero de 2019 a las 7:14

  • Compilé un programa con python 3.5.0 y sin advertencias ni errores, y funciona como se esperaba

    – Menotdan

    12 oct 2019 a las 14:25

  • ¿Alguien sabe lo que importa en un Pyinstaller? ¿Funcionará una compilación exe en Windows 10 en Windows 8? ¿O funcionará la compilación de Windows 10 de 32 bits en los sistemas de Windows 10 de 64 bits?

    usuario13494862

    6 de junio de 2020 a las 11:21

  • @Peter Encontré el siguiente error: AttributeError: el módulo ‘PyQt5’ no tiene atributo ‘versión

    – Batata

    22 de julio de 2021 a las 5:55

  • se ejecuta y crea exe como encanto, pero cuando se trata de distribución, el antivirus causa muchos problemas. Ahora me estoy tirando de los pelos para encontrar una alternativa para detener esas advertencias antivirus solo por un código de hola mundo.

    – Ratul Hasan

    18 de agosto de 2021 a las 14:25

1646971573 141 ¿Como puedo convertir un py a exe para Python
Charla

Hay un proyecto de código abierto llamado auto-py-to-exe en GitHub. En realidad, también usa PyInstaller internamente, pero dado que tiene una GUI simple que controla PyInstaller, puede ser una alternativa cómoda. También puede generar un archivo independiente en contraste con otras soluciones. también proporcionan un video mostrando cómo configurarlo.

interfaz gráfica de usuario:

Auto Py a Exe

Producción:

Producción

Alternativamente, use pyinstaller directamente:

pip install pyinstaller
pyinstaller filename

  • Deberías haber mencionado que requiere MVC++. error: se requiere Microsoft Visual C++ 14.0.

    – SKR

    28 de noviembre de 2018 a las 0:29

  • No encuentro ningún valor en esto, ya que se basa en pyinstaller y si recibe un error en pyinstaller, ¡lo tendrá aquí también!

    – CV_apasionado

    30 de abril de 2019 a las 18:19

1646971575 487 ¿Como puedo convertir un py a exe para Python
Gerschel

No puedo decirte qué es lo mejor, pero una herramienta que he usado con éxito en el pasado fue cx_congelar. Recientemente actualizaron (el 7 de enero de 2017) a la versión 5.0.1 y es compatible con Python 3.6.

aqui esta el pypi
https://pypi.python.org/pypi/cx_Freeze

La documentación muestra que hay más de una forma de hacerlo, dependiendo de sus necesidades.
http://cx-freeze.readthedocs.io/en/latest/overview.html

Todavía no lo he probado, así que voy a señalar una publicación donde se discutió la forma simple de hacerlo. Sin embargo, algunas cosas pueden o no haber cambiado.

¿Cómo uso cx_freeze?

1646971575 998 ¿Como puedo convertir un py a exe para Python
Lobo solitario

Ahora puede convertirlo usando PyInstaller. Funciona incluso con Python 3.

Pasos:

  1. Enciende tu PC
  2. Abrir símbolo del sistema
  3. Introducir comando pip install pyinstaller
  4. Cuando esté instalado, use el comando ‘cd’ para ir al directorio de trabajo.
  5. Ejecutar comando pyinstaller <filename>

  • porque no funciona en Python 3.6, que OP escribió específicamente que está usando.

    – uri

    10 de abril de 2019 a las 14:40

  • Pyinstaller debería funcionar ahora. Si no es así, dímelo en los comentarios.

    – Lobo solitario

    5 de junio de 2020 a las 15:51

  • En el paso 5, en lugar de pyinstall , debería ser pyinstaller .

    – Be’ezrat Hashem

    29 de septiembre de 2020 a las 10:04

  • Mi archivo principal de python depende de un archivo de python personalizado. ¿Cómo incluir mi custom.py al crear el exe?

    – dinero

    1 oct 2020 a las 16:12

  • @roney Perdón por la respuesta ultra tardía, pero me bloquearon mi cuenta SO, pero la respuesta está aquí. O, más precisamente, aquí: pyinstaller.readthedocs.io/en/stable/spec-files.html. Es demasiado grande para escribir en un comentario.

    – Lobo solitario

    21 de noviembre de 2020 a las 16:38


He estado usando Nuitka y PyInstaller con mi paquete, PySimpleGUI.

Nuitka
Hubo problemas para que tkinter compilara con Nuikta. Uno de los colaboradores del proyecto desarrolló un script que solucionó el problema.

Si no está usando tkinter, puede que “simplemente funcione” para usted. Si está utilizando tkinter, dígalo e intentaré publicar el script y las instrucciones.

PyInstaller
¡Estoy ejecutando 3.6 y PyInstaller funciona muy bien! El comando que uso para crear mi archivo exe es:

pyinstaller -wF miarchivo.py

El -wF creará un solo archivo EXE. Debido a que todos mis programas tienen una GUI y no quiero que se muestre la ventana de comandos, la opción -w ocultará la ventana de comandos.

Esto es lo más cerca de conseguir lo que parece un programa Winforms para ejecutar que fue escrito en Python.

[Update 20-Jul-2019]

Existe una solución basada en GUI de PySimpleGUI que utiliza PyInstaller. Utiliza PySimpleGUI. Se llama pysimplegui-exemaker y se puede instalar pip.

pip install PySimpleGUI-exemaker

Para ejecutarlo después de la instalación:

python -m pysimplegui-exemaker.pysimplegui-exemaker

  • porque no funciona en Python 3.6, que OP escribió específicamente que está usando.

    – uri

    10 de abril de 2019 a las 14:40

  • Pyinstaller debería funcionar ahora. Si no es así, dímelo en los comentarios.

    – Lobo solitario

    5 de junio de 2020 a las 15:51

  • En el paso 5, en lugar de pyinstall , debería ser pyinstaller .

    – Be’ezrat Hashem

    29 de septiembre de 2020 a las 10:04

  • Mi archivo principal de python depende de un archivo de python personalizado. ¿Cómo incluir mi custom.py al crear el exe?

    – dinero

    1 oct 2020 a las 16:12

  • @roney Perdón por la respuesta ultra tardía, pero me bloquearon mi cuenta SO, pero la respuesta está aquí. O, más precisamente, aquí: pyinstaller.readthedocs.io/en/stable/spec-files.html. Es demasiado grande para escribir en un comentario.

    – Lobo solitario

    21 de noviembre de 2020 a las 16:38


1646971575 314 ¿Como puedo convertir un py a exe para Python
Mudit Bhatia

La forma mejor y más fácil es auto-py-to-exe seguro, y he dado todos los pasos y señales de advertencia a continuación, lo que le llevará solo 5 minutos obtener un archivo .exe final, ya que no tiene que aprender nada para usarlo.

1.) Puede que no funcione para python 3.9 en algunos dispositivos, supongo.

2.) Al instalar python, si seleccionó ‘agregar python 3.x a la ruta’, abra el símbolo del sistema desde el menú de inicio y tendrá que escribir pip install auto-py-to-exe para instalarlo Deberá presionar enter en el símbolo del sistema para obtener el resultado de la línea que está escribiendo.

3.) Una vez que esté instalado, en el símbolo del sistema, simplemente puede escribir solo auto-py-to-exe Para abrirlo. Se abrirá una nueva ventana. Puede tardar hasta un minuto la primera vez. Además, cerrar el símbolo del sistema también cerrará auto-py-to-exe, así que no lo cierre hasta que tenga listo su archivo .exe.

4.) Habrá botones para todo lo que necesita para crear un archivo .exe y la captura de pantalla se comparte a continuación. Además, para el ícono, necesita un archivo .ico en lugar de una imagen, por lo que para convertirlo, puede usar https://convertio.co/

5.) Si su script usa archivos externos, puede agregarlos a través de auto-py-to-exe y en el script, tendrá que hacer algunos cambios en su ruta. Primero, tienes que escribir import sys si aún no está escrito, en segundo lugar, debe crear una variable para, por ejemplo, location=getattr(sys,"_MEIPASS",".")+"/"tercero, la ubicación de ejemplo.png sería location+"/example.png" si no está en ninguna carpeta.

6.) Si muestra algún error, probablemente se deba a que un módulo llamado setuptools no está en la última versión. Para actualizarlo a la última versión, en el símbolo del sistema, deberá escribir pip install --upgrade setuptools. Además, en el guión, escribir import setuptools puede ayudar. Si la versión de setuptools es superior a 50.0.0, todo debería estar bien.

7.) Después de todos estos pasos, en auto-py-to-exe, cuando se complete la conversión, el archivo .exe estará en la carpeta que hubiera elegido (por defecto, es ‘c:/users/name /output’) o habría sido eliminado por su antivirus si tiene uno. Cada antivirus tiene diferentes métodos para restaurar un archivo, así que experimenta si no lo sabes.

Así es como se puede usar la GUI simple de auto-py-to-exe para crear un archivo .exe.

ingrese la descripción de la imagen aquí

  • Lo siento si respondí esta pregunta tarde. No sabía sobre Python o este sitio cuando se hizo esta pregunta. Sin embargo, este método es muy fácil y rápido y siempre me funciona y no necesitas ningún conocimiento para usarlo.

    – Mudit Bhatia

    28 de noviembre de 2020 a las 7:31


¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad