Vežbe 1: Podešavanje radnog okruženja 1.1 Eclipse IDE Eclipse predstavlja programsko razvojno okruženje (Integrated Development Environment - IDE) namenjeno za izradu i održavanje softverskih rešenja kroz čitav životni vek u različitim programskim jezicima (JAVA, C, C++, PHP, Python, Ruby…). Eclipse je proširivo razvojno okruženje, implementirano po principu plug-in ekstenzija, razvijeno u programskom jeziku JAVA. Eclipse IDE for Java Developers, je programsko okruženje za razvijanje aplikacija pisanih u programskom jeziku JAVA. Na našim vežbama biće korišćeno proširenje za razvoj aplikacija u programskom jeziku Python. Pre instalacije Eclipse-a, neophodno je instalirati JDK (Java Development Kit) ili JRE (Java Runtime Engine), verzija 1.7. Instalacione verzije JAVA-e nalaze se na: http://java.sun.com/javase/downloads/index.jsp. Preporučena je instalacija JDK verzije zbog mogućnosti uključivanja izvornog JAVA koda standardnih JAVA klasa. Na stranici: www.eclipse.org/downloads nalaze se instalacione verzije Eclipse okruženja . Preporuka je da se za ovaj kurs koristi najnovija verzija (Eclipse Luna), i to verzija„Eclipse For Java Developers“.
Nakon download-a .zip arhive, nikakva instalaciona procedura nije potrebna. Dovoljno je kreirati folder u koji će se raspakovati eclipse.zip arhiva. Na Windows platformi ukoliko se arhiva raspakuje na C drajvu biće automatski kreiran folder C:\ Eclipse u okviru koga će biti kreiran veći broj podfoldera (configuration, plugins, features).
1.2 Podešavanje i pokretanje Eclipse-a Pre početka rada sa Eclipse razvojnim okruženjem, potrebno je obezbediti povezanost sa prethodno preuzetom verijom Java JDK-a preko JAVA_HOME i PATH sistemske varijable. Koraci pri pokretanju za Windows platform su: 1. 2. 3. 4. 5. 6.
Desni klik na My Computer(Computer) ikonu Iz menija izabrati stavku Properties Izabrati Advanced setings Izabrati Tab Advanced Zatim kliknuti na dugme Environment Variables na dnu taba U prvom odeljku izabrati New… ili Edit… ukoliko varijabla pod odgovarajućim imenom već postoji 7. Za ime varijable postaviti JAVA_HOME 8. Za vrednost varijable putanju do JDK instalacije (npr: C:\Program Files\Java\jdk1.8.0) 9. Procedura je ista za podešavanje PATH varijable, gde je potrebno postaviti putanju %JAVA_HOME%\bin. Ukoliko varijabla već sadrži putanje, novu putanju je potrebno dodati na kraj, odvajanjem znakom ; od preostalih putanja Prilikom prvog pokretanja Eclipse okruženja, od korisnika će biti zahtevano da odabere lokaciju „Workspace“-a.
Pojam „Workspace“ označava folder na računaru u kome će se nalaziti svi kreirani Eclipse projekti i fajlovi. Projekti se po default-u kreiraju u folderu Workspace-a, ali korisnik može proizvoljno odrediti lokaciju u kojoj će se nalaziti njegov projekat. Takođe, može postojati i veći broj „Workspace“ova, u kojima se nalaze korisnički projekti, proizvoljno grupisani od strane korisnika (za vežbe je dovoljno postojanje jednog Workspace-a). Potrebno je kreirati jedan zaseban folder na disku na kome je dozvoljen pristup i ovaj folder izabrati za Workspace.
1.3 Instalacija PyDev plugin-a Za razvoj Python aplikacija u Eclipse razvojnom okruženju potrebno je instalirati PyDev plugin. Pre toga potrebno je instalirati Python interpreter na vaš računar da bi plagin mogao da funkcioniše. Sa linka https://www.python.org/downloads/release/python-341/ preuzeti verziju za vaš operativni system i instalirati. Nakon završetka instalacije interpretera pokrenuti Eclipse(ako već nije), iz menija izabrati Help, zatim Instal New Software i u delu Work with upisati http://pydev.org/updates i pritisnuti Enter. Nakon prikaza dostupnih plagina izabrati samo PyDev i izabrati Next.
Nakon toga ponovo izabrati Next pa na sledećem prozoru prihvatiti licencu, zatim Finish i sačekati da se process instalacije završi. Kada se postupak instalacije završi, potrebno je restartovati razvojno okruženje, nakon čega je ono spremno za rad.
1.4 PyDev razvoj Nakon ponovnog pokretanja Eclipse-a, potrebno je izabrati PyDev preskektivu. Perspektive u Eclipse-u su način da svi alati, namenjeni određenom segment razvoja (rad u različitim programskim jezicima, debagovanje I sl.) budu dostupni prilikom razvoja. PyDev perspektiva se može uključiti izborom Window menija, zatim open Perspective, ako je ne možemo direktno izabrati odabira se opcija Other I zatim PyDev. Nakon ovoga Eclipse okruženje je spremno za rad u programskom jeziku Python. Nakon ovoga, potrebno je izvršiti konfiguraciju PyDev plugin-a za rad sa odgovarajućim Pythoin interpreterom. Iz menija Window odabrati stavku Preferences, a zatim iz liste sa leve strane odabrati PyDev->Interpreters->Python Interpreter. Odabrati opciju New, pa na Browse odabrati putanju na kojoj je instaliran Python i odabrati fajl sa exe ekstenzijom. Nakon toga u donjem delu prozora (PYTHONPATH) trebalo bi da se pojave minimalno putanje do Python-ovih /lib i /lib/site-packages foldera.
Za kreiranje novog projekta izabrati File, zatim New, pa PyDev Project, nakon čega se pojavljuje prozor za parametrizaciju projekta. U polje Project name upisati ime projekta. Nakon toga potrebno je izabrati verziju interpretera koja se koristi za sam projekat. Potrebno je postaviti Grammar Version na 3.0 i Interpreter na prethodno podešeni. Dijalog bi trebalo da igleda kao na slici:
Klikom na Finish projekat je spreman za rad. Nakon što je projekat kreiran, u strukturi projekta nalazi se src folder. U okviru ovog foldera i njegovih podfoldera treba da se nađu svi fajlovi koji sadrže programski kod našeg projekta. Desnim klikom na src pojaviće se padajući meni, sa kojeg je opcijom New moguće dodavati nove module i pakete. Paketi su namenjeni kreiranju strukture podfoldera src foldera, sa ciljem bolje organizacije programskog koda (modula).
Odabirom opcije za kreiranje novog Python modula, pojaviće se dijalog za unošenje imena paketa. Na ovom dijalogu moguće je iskreirati kompletnu strukturu, razdvajanjem željenih foldera tačkom.
Nakon ovoga, src folder ima strukturu prikazanu na slici.
U okviru svih paketa pojaviće se fajl __init__.py, koji omogućava Python interpreteru da tretira foldere kao Python pakete. U okviru ovih paketa sada je moguće kreirati nove Python module. U prethodno kreirani paket veybe1 dodaćemo modul sa nazivom hello_world, nakon čega sledi izbor template-a za naš modul. Za potrebe ovog primera izabrati Empty.
Nakon izbora ovog modula generiše se prazan Python fajl sa poznatom strukturom komentara o autoru.
U okviru ovog modula dodaćemo funkciju say_hello, koja će izvršiti ispis teksta Hello world. Kreiraćemo i drugi modul, pod nazivom application, u okviru kojeg ćemo pozvati datu funkciju.
1.5 Pokretanje aplikacije Pokretanje aplikacije se vrši odabirom Python modula koji želimo izvršiti, pa iz padajućeg menija odabirom Run As->Python Run. Nakon ovoga, na, u donjem prozoru Eclipse okruženja trebalo bi da vidimo ispisanu poruku Hello world.
1.6 Importovanje postojećeg projekta Pored kreianja novog projekta, Eclipse podržava i ubacivanje već postojećeg projekta. Izborom File->Import->General->Existing Projects into Workspace vrši se import već postojećeg projekta u radni prostor. Prilikom importa moguće je odabrati da se dati projekat kopira u naš workspace, odnosno u folder koji smo pri pokretanju Eclipse-a odabrali za naš workspace. Klikom na Finish projekat će biti ubačen u naš radni prostor i možemo nastaviti rad kao sa novim projektima.
1.7 Brisanje projekta Eclipse podržava uklanjanje projekta iz workspace-a. Postoje dva načina brisanja projekta – logičko i fizičko. Prilikom brisanja, odabirom delete opcije, biće ponuđena opcija Delete project contents on disk (cannot be undone). Odabirom ove opcije biće izvršeno brisanje projekta sa diska (brisanje iz fajl sistema). U suprotnom, projekat će biti obrisan samo logički, i moći će da bude vraćen u workspace opcijom Import.
1.8 Debugger u Eclipse-u Debugger predstavlja alat u razvojnom programskom okruženju koji pruža mogućnost: a) zaustavljanja izvršavanja aplikacije u bilo kojoj liniji koda b) pristupanje sadržaju i stanju objekata unutar programa u bilo kom trenutku. Debuger se koristi za: a) otklanjanje grešaka u aplikaciji (pronalaženje gde i zašto program ne radi) b) upoznavanje novih projekata c) bolje razumevanje načina rada programskog jezika i objektno orijentisanog programiranja Da bi se koristio debuger u Eclipse okruženju potrebno je naučiti: a) kako se kretati kroz program u debug režimu rada i b) kako videti stanje željenog objekta u programu Pre samog ulaska u debug mod, da bismo mogli precizno odrediti ne samo klasu veći redni broj reda na kojoj se nalazi određena linija koda, potrebno je da uključimo prikaz rednog broja linije koda:
Window -> Preferences -> General -> Editors -> Text Editors i izabrati opciju „Show line numbers“. Ili desnim klikom na traku uz kod izabrati Show line numbers. Da bismo započeli debug sesiju u našem programu potrebno je da: a) odredimo mesto u našem programu na kome će se zaustaviti izvršavanje programa b) pokrenemo aplikaciju u debug modu. Otvorićemo modul TestHelloWorld i postavićemo mesto u kome će se zaustaviti izvršavanje programa. Ovo mesto se zove prekidna tačka izvršavanja (break point) i koristi se samo u debug režimu rada. U programu moguće je imati više od jedne prekidne tačke. Rad u debug modu nije moguć bez barem jedne prekidne tačke. Prekidna tačka se postavlja tako što se u klasi,modulu projekta koja je otvorena u editor delu Eclipse okruženja mišem izvrši dupli klik na levu ivicu editora, neposredno pre broja linije koda.
Akcija postavljanja prekidne tačke vizuelno biće obeležena zelenom čiodom na liniji koda u kojoj je ona postavljena (u primeru sa slike 11. linija koda modula TestHelloWorld). Prekidna tačka govori debuger-u gde da zaustavi izvršavanje programa. Prekidna tačka se briše identičnom akcijom kao i prilikom postavljanja (dupli klik nad istim mestom).
Aplikacija se pokreće u debug modu na sledeći način: Run -> Debug As -> Python Run. Neposredno pre pokretanja aplikacije tražiće se potvrda promene aktivne perspektive Eclipse okruženja iz PyDev u Debug. Na slici je prikazan izgled Eclipse okruženja u debug modu.
1. Debug View - prozor koji prikazuje naziv i poziciju trenutno aktivne programske niti 2. PyDev Editor - prikazuje liniju koda koja će se naredna izvršiti. Ova linija koda je posebno označana (u primeru linija koda je selektovana zelenom pozadinom) 3. Variable view - omogućava uvid u vrednosti objekata aplikacije 4. Breakpoints view - prikaz svih aktivnih prekidnih tačaka 5. Toolbar debug mode-a - akcije koje omogućavaju kretanje kroz debug mode. 6. Sistemska konzola Eclipse-a. 7. Pregled mogućih perspektiva Eclipse okruženja.
1.9 Kretanje kroz program u Debug mode-u Toolbar debug mode-a predstavlja najvažniji deo Debug perspektive koji omogućava kretanje kroz program:
1.10 Pregled stanja objekata u Debug mode- u Sadržaj i vrednost svih objekata koji suu datom trenutku aktivni u debug režimu rada moguće je videti u Variable view prozoru debug perspektive:
U slučaju da korisnik želi da dobije vrednost izvršavanja neke metode postoji mogućnost akcije Watch. Selekcijom određenog dela koda trenutno aktivne linije koda u debug modu moguće je dobiti vrednost selektovanog dela koda i pre njegovog izvršavanja. Na primeru sa slike selektovan je deo koda: zbir-> Desni klik nad selektovanim kodom -> Watch. U Expression prozoru se pojavljuje trenutna vrednost selektovanog iskaza.
2.1 Zadaci 1. Kreirati novi projekat, paketsku strukturu i modul koji će na konzoli ispisati tekst: “Hello World from PyDev”. Ispis testirati pozivom iz drugog modula. 2. Napraviti novi modul i u njemu napisati dve funkcije - jednu za zbir dva broja i drugu koja sabira elemente liste. Testirati program. 3. Importovati projekat sa sajta u radno okruženje . 4. Izvršiti debug nad importovanim projektom.
2.2 Materijali Link ka YouTube tutorijalu kako podesiti PyDev i kako napraviti projekat u Eclipse-u za PyDev https://www.youtube.com/watch?v=fAa80SpQJHo