2012-05-15 8 views
38

Estoy buscando una forma de convertir un programa de Python a un archivo .exe SIN usar py2exe. py2exe dice que requiere Python 2.6, que está desactualizado. ¿Hay alguna manera de que esto sea posible para poder distribuir mi programa Python sin que el usuario final tenga que instalar Python?¿Cómo convierto un programa Python a un programa Runnable .exe de Windows?

+3

[Según esto] (http://www.py2exe.org/index.cgi/Tutorial#Step52) py2exe puede soportar 2.6, 2.7, 3.0, 3.1, siempre que pueda proporcionar el MSVCR90.dll –

+2

I ' he utilizado py2exe con 2.7.2 y 2.7.3. – birryree

+3

No puedo comentar, pero debo alertar a la gente de esto por razones de seguridad. Virus Total señala PyInstaller con 7 virus diferentes, y las sumas de comprobación no coinciden. ** NO DESCARGAR A LAS 22:56 -5: 00GMT EL 21 DE SEPTIEMBRE DE 2016. ** Tuve que publicar esto porque se recomienda en varias respuestas, incluida la elegida. Acabo de encontrar esta pregunta y respuesta durante la búsqueda, y casi uso PyInstaller como se recomienda antes de darme cuenta de que probablemente debería escanearlo primero. Me alegro de haber tomado esas precauciones. –

Respuesta

24

entender que cada aplicación 'congelación' de Python no será realmente garantizar su código de ninguna manera. Cada sistema de empaque para un "programa" de Python ejecutable independiente incluirá muchas de las bibliotecas e intérpretes de Python, lo que hará que su programa sea bastante grande.

Dicho esto, PyInstaller ha hecho un trabajo casi impecable con todo lo que le he echado. Actualmente solo admite hasta Python 2.7, pero el soporte de Pyinstaller para un conjunto variado de bibliotecas, grandes y pequeñas, no tiene igual en otros programas de tipo "congelación" para Python.

+0

esto parece que funcionará bien. Pero estoy un poco confundido sobre cómo configurarlo. ¿Hay algún enlace que me puedas dar o algunas instrucciones simples? gracias por este @PenguinCoder y por todos los demás que respondieron a mi pregunta – bolharr2250

+0

@ bolharr2250 [StackOverflow] (http://stackoverflow.com/questions/5543920/comprehensive-tutorial-on-pyinstaller) ¡pregunta para el "tutorial de Pyinstaller"! El [Manual del instalador] (http://www.pyinstaller.org/export/d3398dd79b68901ae1edd761f3fe0f4ff19cfb1a/project/doc/Manual.html?format=raw#getting-started) sobre cómo comenzar es el mejor lugar para comenzar. – PenguinCoder

2

He usado cx-freeze con buenos resultados en Python 3.2

8

algunas personas hablan muy bien de PyInstaller

http://www.pyinstaller.org/

+0

También traté de convertir un proyecto de python (2.7.3) con muchas libs de tercera parte en un archivo ejecutable con py2exe, ¡pero no funcionó! ¡Luego probé el instalador de pizarras (que requiere más esfuerzo para instalarlo) y todo funciona como un amuleto! – user1911091

1

Para ello se tienen dos opciones:

  • Una rebaja a Python 2.6. En general, esto es indeseable porque está retrocediendo y puede anular una pequeña porción de sus secuencias de comandos
  • Su segunda opción es usar algún tipo de convertidor exe. Recomiendo pyinstaller ya que parece tener los mejores resultados.
0

Si se trata de un simple script py refieren here

Else para el GUI:

$ PIP3 instalar cx_Freeze

1) Crear un archivo setup.py y ponga en el mismo directorio que el archivo .py que desea convertir.

2) Copie y pegue las siguientes líneas en setup.py y cambie "filename.py" en el nombre de archivo que ha especificado.

from cx_Freeze import setup, Executable 
setup(
    name="GUI PROGRAM", 
    version="0.1", 
    description="MyEXE", 
    executables=[Executable("filename.py", base="Win32GUI")], 
    ) 

3) Ejecutar el setup.py "$ python setup.py build"

4) Un nuevo directorio estará presente allí llamado "acumulación". En su interior, obtendrá su archivo .exe listo para abrirse directamente. (Asegúrese de copiar pegar los archivos de imágenes y otros archivos externos en el directorio de compilación)

Cuestiones relacionadas