online - run a python script in terminal windows
Compilar PyPy a Exe (2)
Sé cómo compilar el archivo CPython a exe usando cx_freeze pero ¿es posible compilar un programa simple usando PyPy a Exe?
Esta es una solución py2exe que podría funcionar para usted: compile.py
#!/usr/bin/env python
# Corey Goldberg
from distutils.core import setup
import py2exe
import sys
if len(sys.argv) == 2:
entry_point = sys.argv[1]
sys.argv.pop()
sys.argv.append(''py2exe'')
sys.argv.append(''-q'')
else:
print ''usage: compile.py <python_script>/n''
raw_input(''press ENTER to exit...'')
sys.exit(1)
opts = {
''py2exe'': {
''compressed'': 1,
''optimize'': 2,
''bundle_files'': 1
}
}
setup(console=[entry_point], options=opts, zipfile=None)
No hay una forma preparada o tutorial sobre cómo crear un EXE desde un programa usando el intérprete de PyPy, que yo sepa. Y no es exactamente trivial hacer que las cosas funcionen, me temo.
En principio, hay dos maneras de considerar el uso de las traducciones de PyPy para obtener un archivo EXE, ya sea usando el intérprete de PyPy o escribiendo su propio programa RPython (el intérprete de PyPy es en sí mismo un programa de RPython, es decir, usando un subconjunto restringido de Python).
Si el programa utiliza un subconjunto restringido de RPython y no dependencias, puede usar el script de traducción en pypy/translator/goal donde también encontrará muchos archivos de destino * .py. Toma uno y modifícalo para tus propósitos. Es posible que primero quieras jugar con la traducción de funciones de Python a partir de aquí:
http://doc.pypy.org/en/latest/getting-started-dev.html#trying-out-the-translator
Si su programa es una aplicación y depende de paquetes externos, primero debe tratar de asegurarse de que su programa funcione para todos en absoluto, no todas las bibliotecas externas son compatibles. Luego, puede considerar la modificación del script targetpypystandalone para cargar sus módulos de aplicación. En caso de duda, intente obtener ayuda en la lista de correo pypy-dev o en el canal #pypy en irc.freenode.net.