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 !

4 comments:

JPP said...

no dobra, ale ja jestem za głupi no to żeby pra oewać w konsoli. JA chce to odpalić w webie, np. na web2py

i stąd pytanie, jaki musze mieć serwer żeby odpalać python aplikacje w sieci

Johny JKJK said...

Żaden. Ściągasz "źródła" (link "source code") stąd: [http://mdp.cti.depaul.edu/examples/default/download]

Rozpakowujesz i klikasz dwa razy "web2py.exe" :)

Wpisuje się hasło i po 5 sekundach... otwiera się przeglądarka z panelem :]

Anonymous said...

zapomniałeś o ksiązce Zanurkuj w Pythonie :] http://pl.wikibooks.org/wiki/Zanurkuj_w_Pythonie

Johny JKJK said...

Rzeczywiście ją przeoczyłem :) a to dobry początek :] Dzięki wielkie ! Choć nie ukrywam, że do tej pory najfajniejszym podejście jakie widziałem było to w Thinking in Python - po prostu dokładnie takie jakie potrzebowałem :]