2013-04-23 17 views
8

Mam aplikację internetową, którą chciałbym mieć jej wersję na pulpicie. Byłoby świetnie, gdybym mógł je skompilować, a nie przepisać. (Nie mogę dać klientowi kodu niestety)Kompilowanie projektu django jako aplikacji komputerowej

Zrobiłem trochę badań i znalazłem kilka rozwiązań kompilacji Pythona w ogóle. Rozwiązania te są następujące:

  • cx_freeze
  • py2exe
  • pyinstaller (ten twierdzi, że posiada wsparcie dla Django, ale jeszcze niepublikowane)
  • dbuilder.py

To aplikacja będzie działać głównie w systemie Windows, ale jeśli uda mi się znaleźć rozwiązanie, które sprawi, że będzie działało na Linuksie i Macu, byłoby świetnie.

Czy ktoś zdołał to zrobić właściwie? Jeśli tak, czy możesz wskazać mi właściwy kierunek?

Dzięki.

+1

Cx_freeze * twierdzi, że jest to platforma wieloplatformowa, ale podejrzewam, że żadne z tych rozwiązań naprawdę nie "skompilowało" kodu, ale osadziło kod bajtowy Pythona w oddzielnym "pliku wykonywalnym", więc wyodrębnienie czegoś byłoby dość banalne blisko oryginalnego kodu źródłowego za pomocą narzędzia takiego jak [dekompilacja] (http://sourceforge.net/projects/decompyle/). – Aya

Odpowiedz

2

Tak, robię to na OSX. To nie jest proste i, o ile mogę powiedzieć, mogę być pierwszą osobą, która z powodzeniem zrobi to na OSX, więc YMMV.

Pyinstaller, od marca, nie był jeszcze gotowy do obsługi Django. Złożyłem kilka biletów, gdy próbowałem go użyć do spakowania aplikacji i nie poprawiłem jeszcze tych kwestii.

Poszedłem z py2app, w końcu, ponieważ miałem wcześniejsze doświadczenia z nim dla innych aplikacji. Zrobiłem przykładowy projekt z py2app i Django i umieściłem go w postaci on Github. Może się przydać. Ja również powiązany kilka stron, które znalazłem użyteczne w procesie, który podaję poniżej:

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

Gdybym miał zrobić to ponownie, Prawdopodobnie użyłbym SQLAlchemy i wxPython lub PySide. Zalecam staranne przemyślenie tego, co chciałbyś osiągnąć przy użyciu Django jako aplikacji w pakiecie, ponieważ wprowadza to wiele komplikacji.

Powiązane problemy