Compilando el proyecto django como una aplicación de escritorio.

Tengo una aplicación web que me gustaría tener una versión en el escritorio. Sería totalmente increíble si pudiera compilarlo en lugar de reescribirlo. (No puedo dar el código al cliente por desgracia)

Investigué un poco y encontré algunas soluciones para compilar Python en general. Estas soluciones son:

cx_freezepy2exepyinstaller (este dice que tiene soporte para django pero aún no se ha lanzado)dbuilder.py

Esa aplicación de escritorio se ejecutará principalmente en Windows, pero si puedo encontrar una solución que lo haga funcionar en Linux y Mac también sería genial.

¿Alguien logró hacer esto correctamente? Si es así, ¿me puede indicar la dirección correcta?

Gracias.

 Aya23 abr. 2013 16:57
Bien cx_freezereclamaciones para ser multiplataforma, pero sospecho que ninguna de esas soluciones realmente "compila" el código, pero incrusta el bytecode de Python en un 'ejecutable' independiente, por lo que sería bastante trivial extraer algo cerca del código fuente original con una herramienta me gustadescompilar.

Respuestas a la pregunta(1)

estoy haciendo esto en OSX. No es simple y, por lo que puedo decir, puedo ser la primera persona en hacerlo con éxito en OSX, así que YMMV.

Pyinstaller, a partir de marzo, no estaba listo para el soporte de Django. He archivado algunos tickets de cuando intenté usarlo para empaquetar mi solicitud y debo admitir que todavía no he solucionado esos problemas.

Fui con py2app, en última instancia, porque tenía experiencia previa con otras aplicaciones. Hice un proyecto de muestra con py2app y Django y lo puseen Github. Lo podrías encontrar útil. También vinculé algunas de las páginas que encontré útiles en el proceso, que he incluido a continuación:

https://groups.google.com/forum/?fromgroups=#!topic/django-users/-VGqvHew35g

http://misunderstandings.wordpress.com/2008/06/26/django-desktop-app/

https://bitbucket.org/Lawouach/cherrypy-recipes/src/9c35b4b62ef1/frameworks/django_?at=default

Si tuviera que hacerlo de nuevo, probablemente usaría SQLAlchemy y wxPython o PySide. Recomiendo pensar detenidamente sobre lo que le gustaría lograr utilizando Django como una aplicación empaquetada porque presenta mucha complejidad.

Su respuesta a la pregunta