[pyar] Creando 'standalone' package (exe) de un proyecto Django para Windows

Mariano Reingart reingart en gmail.com
Lun Jun 16 14:04:33 ART 2014


Hola Emiliano:

Podes ver los pasos para crear el instalador de web2py para windows.

http://www.web2pyslices.com/slice/show/1726/build-windows-binaries

El script en cuestion es setup_exe.py lo podes encontrar en las fuentes
(usa py2exe):

https://github.com/web2py/web2py/blob/master/extras/build_web2py/setup_exe.py

También hay un script alternativo que usa cxfreeze:

https://github.com/web2py/web2py/blob/master/scripts/standalone_exe_cxfreeze.py

Aca tenes un script externo similar a lo que querés hacer (si entendí bien):

http://bazaar.launchpad.net/~flavour/sahana-eden/trunk/view/head:/static/scripts/tools/standalone_exe.py

Si necesitas armar un instalador (no solo empaquetar), podes ver el
scripcito que arme con NSIS (NullSoft Installer) para el proyecto de
factura electrónica:

https://github.com/reingart/pyafipws/blob/master/nsis.py

Es una extensión a py2exe que te arma un ejecutable autoextraible, y se
puede configurar para registrar servicios, el programa en menu inicio, etc.:

https://code.google.com/p/pyafipws/source/browse/setup.py

Por cierto, py2exe no esta abandonado, hay actividad en el repositorio
(incluyendo soporte para python 3, versión tentativa 0.9.2.1):

http://sourceforge.net/p/py2exe/svn/HEAD/tree/trunk/

En mi caso probé otros (ppalmente PyInstaller) pero me quedo con py2exe que
es compatible con distutils y aunque no es tan automágico, me fue más fácil
de configurar, extender e incluir y excluir módulos (por ej., con
pyinstaller había que generar una especie de helpers para detectar los
imports "no tradicionales" que no lo pude hacer andar, si no recuerdo mal).
También está cxfreeze y bbfreeze (este último parece un reemplazo directo
para py2exe), pero no los he probado tanto.

Con django posiblemente tengas temas similares por lo que estas comentando,
con py2exe podrías incluir directamente los módulos si no te los detecta de
entrada (incluso algunos módulos de la stdlib no son tan obvios por lo que
generalmente no los detecta, como el tema de manejo de tipos mime en email,
bases de datos para shelve, etc., que tendrías que agregar manualmente) .

Espero que te sirva, cualquier cosa avisame

Sds

Mariano Reingart
http://www.sistemasagiles.com.ar
http://reingart.blogspot.com
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140616/884133b2/attachment.html>


More information about the pyar mailing list