czwartek, 21 czerwca 2007

Eclipse i Django

Chciałem tu wymienić pluginy do Eclipse, które są bardzo pomocne przy tworzeniu
aplikacji w Django. Do obsługi pythona istnieją dwa pluginy jeden z nich jest darmowy a drugi istnieje jako rozszerzenie pierwszego. Są to: PyDev i PyDev Extensions (za ten trzeba odrobinę zapłacić choć ułatwia pracę to jednak nie jest niezbędny). Oba pluginy w komplecie wspaniale obsługują auto uzupełnianie składni i dynamiczną analizę kodu. Jedyny mankament jaki zauważyłem to to, że podręczna dokumentacja uzupełnianej funkcji itp. Często nie mieści się w okienku.

Kolejnym Pluginem jest Aptana (dostępna także jako osobna aplikacja) jest ona niesamowicie pomocna przy tworzeniu html (xhtml), xml, css i javascript ma wbudowane auto uzupełnianie wszystkiego co się da i gdzie się da np. uzupełnia funkcje javascript z plików importowanych w nagłówku html.

Dwa kolejne sa przydatne jeśli korzystamy z systemu kontroli wersji Subversion i Trac'a lub innego systemu zarządzania zadaniami / błędami. Do obsługi Subversion służy Subclipse, a do zarządzania zadaniami z systemu Trac MyLyn(aka MyLar).

Co najlepsze Subclipse, MyLyn oraz PyDev posiadają dodatki (dostępne z tych samych repozytoriów), które integrują te pluginy ze sobą. MyLyn pozwala dzięki temu na zaawansowane zarządzanie repozytorium, przypisywanie kontekstu (zbioru plików z projektu) do zadań z Trac'a. Zarządzanie zadaniami na Trac'u bezpośrednio z Eclipse (razem filtrowaniem i innymi funkcjami dostępnymi w Trac'u). Tu mała uwaga: Aby MyLyn w pełni współpracował z Trac'em ten ostatni musi mieć zainstalowany plugin XML-RPC.

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.