Showing posts with label eclipse. Show all posts
Showing posts with label eclipse. Show all posts

Sunday, December 21, 2008

Python - od czego zacząć

Dziś zostało mi zadane pytanie od czego zacząć z Pythonem na start :)
Ponieważ  było to pytanie w kontekście "Windowsa" będę pisał głównie o nim.

Na początek potrzebny jest sam język Python. Możemy go ściągnąć z oficjalnej strony
Po zajerzeniu do działu Download możemy się ciut zagubić. Proponuję ściągnąć wersję pythona zaczynającą się od cyferki 2. Wszystkie samouczki opisują składnię kompatybilną z tą właśnie gałęzią. I nie ma się co martwić. Python 3 wyszedł stosunkowo nie dawno jest do niego niewiele bibliotek i chyba niemalże brak samouczków, a ucząc się Pythona 2 wcale nie uczysz się czegoś nieużytecznego. Opanowując Pythona 2 dasz sobie radę i z Pythonem 3 wspierając się dokumentacją :) opisującą zmiany pomiędzy tymi dwoma gałęziami.

Ściągamy więc ze strony http://www.python.org/download/ wersję Pythona 2, instalujemy w systemie :) Super. Połowa sukcesu za nami.

Przydałoby się jeszcze środowisko programistyczne. Sporo o edytorach dla języka Python można znaleźć w wątku http://forum.python.org.pl/index.php?topic=54.0 PPCG lub na oficjalnym Wiki Pythona . Wybór należy do Ciebie. Jeżeli lubisz proste, działające programy polecam Geany. Zaś dla miłośników poważny środowisk programistycznych wtyczkę do Eclipse o nazwie PyDev. W gruncie rzeczy bardzo dobrze z Pythonem radzi sobie Vim. Wiedząc, że kombinacja klawiszy [ctrl]+[x] [o] uzupełnia składnię wielu funkcji pythona (choć niestety są tutaj zauważalne braki) podając również w okienku nad kodem jej dokumentację (brawo !) a [ctrl]+[n] uzupełnia na podstawie wpisanego już w kodzie lub plikach tekstu - można śmiało używać Vima. Przy odpowiednich ustawieniach wcięcia :) i kolorowanie - no niemalże nic nie brakuje.
Znacznie bardziej rozbudowany jest na przykład Eclipse, który zaznacza nam na "marginesie" kodu wszystkie linijki nie zgodne ze standardem kodowania PEP-8, posiada znacznie bardziej wyrafinowane uzupełnianie składni oczywiście moc funkcji konfiguracyjnych.

Należałoby tutaj wspomnieć o pewnej wciąż drażniącej mnie przypadłości Windows. Konsola i PATH :| Wieczne utrapienie. Problem polega między innymi na tym, że programy uruchamia się na przykład wpisując:

python moj_program.py
Po pierwsze żeby konsola była zjadliwa wypadałoby użyć Windows PowerShell i zmienić w niej czcionkę na coś bardziej zjadliwego. Ja używam Lucida Console 14 bez pogrubienia. Zaletą tej konsoli jest fakt iż można w niej stosować polecenia takie jak na przykład ls nie walcząc z Uniksowymi nawykami. Jednak nadal uruchomienie konsoli Pythona czy wykonanie w niej programu w którymś momencie spowoduje odpaleniem go w zwykłej konsoli cmd i cały urok gdzieś znika :| nie udało mi się jeszcze zmusić całego systemu aby używał wszędzię PowerShella.
Kolejny frustrujący, tym razem już prostszy do rozwiązania problem, to fakt, że domyślnie polecenie Python nie jest wrzucone do zmiennej PATH. Możemy to zmienić wchodząc we Właściwości Mojego Komputera (Właściwości Systemu), wybierając w zakładce Zaawansowane opcje Zmienne środowiskowe ... i modyfikując  lub dodając zmienną użytkownika PATH na przykład:

%PATH$:%ProgramFiles%\Python26\

Przynajmniej tak to wygląda pod Vistą w przypadku instalacji w domyślnym katalogu Program Files.
Oczywiście to nie rozwiązuje poprzedniego problemu i nadal mamy totlotek, z której konsoli będziemy korzystać :| Jeżeli ktoś potrafi rozwiązać rzeczone problemy :) to byłbym szalenie wdzięczny za uwagi w komentarzach. Jednak z mojego doświadczenia nic nie równa się z wygodą używania Pythona w Linuksie. Więc jeżeli masz dostęp do jakiegoś shella lub możliwość używania Linuksa ad hoc - skorzystaj z niego :) Pod Windows najwygodniej pracować jest w jakimś edytorze, który posiada swój własny shell i wyjście programu tak aby nie musieć używać linii poleceń Windows (o zgrozo).

Gdzie zacząć szukać. Ja zacząłem od kursu Jakuba Swachy - był przyjemny. Polecam również moje wykłady. Jeżeli zaś chodzi o dobrą literaturę - natknąłem się w sieci na draft Thinking In Python. Już programujący i niebojącym się języka Angielskiego - bardzo polecam. Mnóstwo materiałów znajdziecie rownież na stronie Polish Python Coders Group szczególnie w dziale artykuły i wykłady.

Powodzenia !

Saturday, January 19, 2008

SWT w Ubuntu

Ostatnie kilka dni spędziłem na walczeniu z SWT w ubuntu. SWT to technologia dostępna w języku programowania Java pozwalajaca tworzyć interfejsy użytkownika wyglądające jak natywne okienka dostępne w systemie z którego korzystamy.

Na początku wpisałem sobie w synapticu SWT i zainstalowałem co następuje:

libswt3.2-gtk-gcj

libswt3.2-gtk-java

libswt3.2-gtk-jni

Paczka gtk-java zawiera pliki jar, zaś paczka jni pliki so. Później przyszedł czas na eclipse. Wiem, że na dzień dzisiejszy dostępna jest wersja 3.3, ale prawdopodobnie na moim poziomie zaawansowania nie zauważyłbym nawet różnicy w funkcjonalności :] więc zainastalowałem sobie:

eclipse

eclipse-jdt

eclipse-pde

eclipse-platform

eclipse-rcp

eclipse-source

Nie wiem czy to wszystko jest potrzebne, ale :) z tym wszystko działa w porządku. Oczywiście o:
sun-java6-jdk
nie wspomnę. Po zainstalowaniu tych wszystkich paczek mamy dwie opcje. Zrobić dowiązanie symboliczne w katalogu rozszerzeń jre do swt.jar tak, że będzie automatycznie lądowało w projekcie (wyglądał poprostu ładnie), albo dodawać do projektów w których korzystamy SWT za każdym razem zewnętrzne pliki JAR (pojawia się kolejna pozycja w menu). Jeżeli chcemy zrobić dowiązanie to w katalogu:
sudo ln -s /usr/lib/eclipse/plugins/org.eclipse.swt.gtk.linux.x86_3.2.2.v3236.jar /usr/lib/jvm/java-6-sun/jre/lib/ext/swt.jar

Teraz uruchamiamy Eclipse wchodzimy do: Window\Preferences\Java\Installed JREs, zaznaczamy java-6-sun, wybieramy Edit..., Add External JARs..., wyszukujemy dowiązanie symboliczne /usr/lib/jvm/java-6-sun/jre/lib/ext/swt.jar, OK, OK, OK. Teraz pozostaje nam jeszcze ponowne uruchomienie Eclipse. Od tej pory wszystkie projekty jakie będziemy tworzyć będą posiadały możliwość używania SWT. 

Jeżeli chcemy samodzielnie dołączać SWT do projektu podczas tworzenia nowego projektu w widoku Java Settings w zakładce Libraries możemy wybrać Add External JARs i analogicznie do poprzedniego opisu dodać ją samodzielnie. Podaję kod przykładowej aplikacji:

package widok;

import org.eclipse.swt.widgets.*;

public class Okienko {
   public static void main(String [] args) {
     Display display = new Display();
     Shell shell = new Shell(display);
     shell.setText("Hello World !");
     shell.open();
     while (! shell.isDisposed()) {
          if(! display.readAndDispatch())
               display.sleep();
     }
     display.dispose();
   }
}
Podczas uruchamiania z menu Run\Run As musimy wybrać SWT Application.

Aby stworzyć plik jar z menu File wybieramy export Java \ Jar File, zaznaczamy nasz projekt i klikamy kolejno Next aby w widoku JAR Manifest Specification ustawić MainClass na widok.Okienko. Powiedzmy, że zapiszemy plik pod nazwą morficzneOkienko.jar

Ponieważ java nie wie gdzie dokładnie ma szukać sobie informacji o swt dlatego aplikację musimy uruchomić:

java -Djava.library.path=/usr/lib/jni -jar morficzneOkienko.jar

wskazując javie, gdzie znajdują się biblioteki potrzebne do uruchomienia naszego programu.

Aby móc cieszyć się SWT w NetBeans 6 klikamy w prawym panelu "Projects", klikamy prawym przyciskiem myszy na nasz projekt i wybieramy Properties. W części Categories wybieramy Libraries i w zakładce Compile:

/usr/lib/eclipse/plugins
Wybierzmy teraz Run i do pola VM Options wpiszmy:

-Djava.library.path=/usr/lib/jni

i już możemy cieszyć się SWT w NetBeans 6