¿Cómo hacer un archivo ejecutable en Python?

Quiero hacer un archivo ejecutable (.exe) de mi aplicación Python.

Quiero saber cómo hacerlo, pero tenga esto en cuenta: ¡uso un archivo DLL de C ++!

¿Tengo que poner la DLL junto con el archivo .exe o hay alguna otra forma?

py2exe puede generar archivos ejecutables de un solo archivo. Vea este enlace para ejemplos.

El setup.py que uso usa la siguiente combinación de opciones:

'compressed': 1, 'optimize':2, 'bundle_files': 1 

Usualmente agrego dlls externos (pe msvcr71.dll) en la misma carpeta donde está el ejecutable.

Para facilitar la distribución y automatizar la instalación después de generar su exe, puede usar Inno Setup para crear un instalador que coloque su exe y su dlls, y otros documentos (léame, etc.) en el directorio de la aplicación.

Siga estos pasos: Puede encontrar esta documentación en este sitio .

1) Instalar PyInstaller:

Suponiendo que tiene PIP instalado en este directorio c: \ PythonXX \ Scripts si no va a este sitio y consulte las instrucciones sobre cómo “Instalar el Proyecto de indexación de Python (PIP)”. Vaya a su símbolo del sistema y escriba el siguiente comando.

  • cd c: \ Python27 \ Scripts para ir a este directorio, presione Entrar
  • Luego escribe -> pip install pyinstaller presiona Enter nuevamente
  • ¡Esto debería instalar PyInstaller con éxito!
  • Obs: no es necesario que haya un pyinstaller dentro de la carpeta Scripts después de la instalación, ya que necesitábamos PIP para instalar los archivos de pyinstaller. Para hacer las cosas más organizadas, generalmente muevo los archivos de pyinstaller a otra carpeta. Para mover los archivos pysintaller, vaya a la carpeta Scripts donde se encuentran los archivos de pyinstaller y busque todos los archivos que comienzan con “pyi”. También puede consultar la columna de Fecha de modificación para ver qué archivos se crearon al mismo tiempo. Deben ser 24 archivos pyi que se crearon cuando ejecutó el script anterior. Copie esos archivos en otra carpeta de su elección. Por lo general, creo una carpeta dentro de la unidad C: \ y la llamo “CreateExecutables” con otra carpeta dentro de los llamados “pyinstaller_files”.

2) Instalar PyWin32:

Vaya a este SITIO y busque el ejecutable llamado pywin32-218.win32-py2.7.exe 2.7 que es para sistemas de 32 bits para python27 busque el que le corresponda. ¡Ejecute el archivo ejecutable y debería instalar PyWin32 con éxito, que funciona de la mano con pyinstaller!

3) Crear un archivo ejecutable único

Ahora que tiene PyInstaller y PyWin32 puede comenzar a crear el único archivo ejecutable. El archivo ejecutable único se creará dentro de otra carpeta llamada “dist”. Esta carpeta también se crea de forma dinámica cuando ejecuta el comando pyinstaller. Para aclarar las cosas, los archivos de su progtwig de instalación se copian en otra carpeta que probablemente se denomina carpeta “archivos_instalación”, por lo que ahora escriba el siguiente comando en el símbolo del sistema.

  • c: \ python27 \ CreateExecutables \ pyinstaller_files> pyinstaller –onefile c: \ test \ test1 \ yourscript.py
  • Obs: El directorio de yourscript.py es donde tiene su módulo pydev ubicado.

4) Visión general

El comando anterior creará una carpeta llamada “dist” dentro de la carpeta pyinstaller_files, esta carpeta contendrá su único archivo ejecutable “yourscript.exe”. Ahora puede mover el archivo ejecutable único a su elección y eliminar la carpeta “dist” y “build” con el archivo “yourscript.spec”, ya que ya no son necesarios para ejecutar su archivo ejecutable único.

Utilice py2exe . Puede colocar la DLL en la misma carpeta que el EXE final y debería estar bien cargada.

Echa un vistazo a pyinstaller . Debe encontrar (y, en consecuencia, enviar) estas dependencias para usted.

He creado archivos exe desde el código de Python 2.7 utilizando cada una de estas herramientas:

  • Cython (con opción –inced)
  • Nuitka
  • Py2exe

Todos estos producirán un exe independiente. Su instalador tendrá que incluir los dlls CRT necesarios. Su resultado final será indistinguible de cualquier otro ejemplo para el usuario típico.

Los dos primeros comstackn a C primero, luego lo comstackn a un exe final utilizando cualquier comstackdor que haya instalado. Py2Exe agrupa Python y todos tus archivos .pyo en un archivo zip que incrusta en el archivo ejecutable. Cuando se inicia, se descomprime en el directorio temporal y se ejecuta Python desde allí. Tendrá que agregar su dll al archivo .spec para que se incluya en el recurso zip. Alternativamente, instale su dll junto con el exe y cárguelo usando una ruta absoluta en python.

cx_Freeze también es bueno.

cx_Freeze es un conjunto de scripts y módulos para congelar scripts de Python en ejecutables

PyInstaller es la mejor opción, ya que funciona bien tanto en Windows como en Linux. Si está utilizando arch linux , use este enlace: PyInstaller o pruebe yaourt pyinstaller .