wtorek, 19 czerwca 2007

Kompilacja Pythona do exe

Ostatnio miałem potrzebę skompilować aplikację napisaną z użyciem wxWindows (wxPython) i Pythona do pliku exe. Jakkolwiek można się zastanawiać nad celowością takiego przedsięwzięcia to jednak chcę się podzielić moimi spostrzeżeniami. Otóż szukając programu, który mógłby skompilować kod pythona do pliku exe natrafiałem głównie na wzmianki o py2exe oraz o jakimś tajemniczym Gordon McMillan's Installer. Ostatni z tych programów miał się znajdować pod adresem http://www.mcmillan-inc.com/install1.html jak widać nie ma go tam ;). Użyłem więc py2exe ale szybko się rozczarowałem py2exe natworzył pełno różnych brzydkich plików zajmujących w sumie 17 MB. Dużo za dużo jak na moją prostą aplikację (SystemTray Notifier).
Co gorsza uruchamiając program otwiera konsolę tekstową (cmd.exe). Szukałem rozwiązania tego problemu i znalazłem informację o tym żeby nie używać w swojej aplikacji os.open()... no cóż ja nie używałem. Być może jest używany w którymś z modułów pythona ale przecież nie będę ich przerabiał. Zacząłem uparcie szukać Gordon McMillan's Installer bo podobno bardziej rozbudowany. Już miałem zrezygnować gdy trafiłem na stronę PyInstaller . Okazało się, że to właśnie ten tajemniczy Gordon McMillan's Installer a właściwie jego spadkobierca. Podstawowa obsługa programu jest banalnie prosta można używając parametrów w linii poleceń określić czy kompilować do pojedynczego pliku exe czy też tworzyć dodatkowe biblioteki, czy program ma się odpalać jako konsolowy czy też nie, a nawet dołączyć do pliku exe ikonki. Ach no i mój program skompilowany za pomocą PyInstaller zajmuje ostatecznie 6MB :).

Dla ciekawskich podaję jeszcze link do py2exe.

Brak komentarzy: