Pregled: 6 Python IDE-a ide na mat

Od svih mjernih podataka koje biste mogli koristiti za procjenu popularnosti i uspješnosti jezika, jedan od sigurnih čimbenika je broj razvojnih okruženja koja su mu dostupna. Porast popularnosti Pythona tijekom posljednjih nekoliko godina sa sobom je donio snažan val IDE podrške, s alatima usmjerenim kako općem programeru, tako i onima koji koriste Python za zadatke poput znanstvenog rada i analitičkog programiranja.

Ovih šest IDE-a s podrškom za Python pokrivaju opseg slučajeva korištenja. Neki su višejezični IDE-ovi koji imaju Python podršku putem dodatka ili ponovnog pakiranja drugog proizvoda s Python-ovim proširenjima. Svaka od njih ima malo drugačiju publiku programera za Python, iako se mnogi trude biti korisni kao univerzalna rješenja.

Dobar broj IDE-a danas su okviri opremljeni dodacima za određene jezike i zadatke, a ne aplikacije napisane iznutra kako bi potaknule razvoj na određenom jeziku. U tu svrhu vaš odabir IDE-a može se odrediti prema tome imate li iskustva s drugim IDE-om iz iste obitelji ili ne.

Povezani video: Zašto Python olakšava programiranje

Za one koji nemaju takvo iskustvo, PyCharm je jedno od najboljih mjesta za početak. Prikladan je za pridošlice, ali nije otežan u svom skupu značajki. U stvari, sadrži neke od najkorisnijih značajki među svim ovdje IDE-ovima profiliranim. Mnoge od tih značajki dostupne su samo u verziji proizvoda uz naplatu, ali u besplatnoj inačici ima mnogo pomoći mladom programeru da započne.

LiClipse i Python Tools for Visual Studio (PTVS) dobar su izbor za programere koji već dobro poznaju Eclipse i Microsoft Visual Studio. Obje su cjelovite razvojne okoline - onako cjelovite kao što ćete pronaći - koje sasvim lijepo integriraju Python. Međutim, to su i opsežne, složene aplikacije koje imaju puno kognitivnih troškova. Ako ste već svladali bilo koji od njih, naći ćete ga izvrsnim izborom za Python rad.

Python inkarnacija ActiveState-ovog Komodo IDE-a prirodno je za one koji su Komodo IDE već koristili za neki drugi jezik, a ima jedinstvene značajke (poput ocjenjivača regularnih izraza) koje bi trebale proširiti njegovu privlačnost. Komodo zaslužuje pomni pogled kako od novaka, tako i od stručnjaka.

Spyder je najprikladniji za rad s IPythonom ili drugim znanstveno-računalnim alatima u distribucijama poput Anaconde, umjesto kao razvojna platforma za Python općenito. Napokon, IDLE je najbolje rezerviran za brzo i prljavo skriptiranje, pa čak i po tom pitanju možda će trebati stražnje sjedalo do samostalnog uređivača koda s dodatkom za sintaksu Python. Usprkos tome, IDLE je uvijek tu kad vam zatreba.

BESPOSLEN

IDLE, razvojno okruženje uključeno u većinu svake instalacije Pythona, moglo bi se smatrati zadanim Python IDE-om. Međutim, IDLE nikako nije zamjena za potpuno razvijeni IDE; više je poput otmjenog uređivača datoteka. Ipak, IDLE ostaje jedna od zadanih opcija za razvojne programere Pythona da se približe jeziku i postupno se poboljšava sa svakim izdanjem Pythona, posebno s Pythonom 3.5. (Pogledajte ovu stranicu za zanimljivu raspravu o nedavnim naporima za poboljšanje IDLE-a.)

IDLE je u potpunosti izgrađen s komponentama koje se isporučuju sa zadanom instalacijom Pythona. Osim samog tumača CPython, to uključuje i alat za sučelje Tkinter. Jedna blagodat izgradnje IDLE-a na ovaj način: Pokreće se na više platformi s dosljednim skupom ponašanja. Kao nedostatak, sučelje može biti užasno sporo. Primjerice, ispis velike količine teksta iz skripte u konzolu mnogo je redoslijeda sporiji nego ako se skripta izvodi iz naredbenog retka.

IDLE ima nekoliko neposrednih pogodnosti. Sadrži ugrađenu petlju čitanja-ispisa (REPL) ili interaktivnu konzolu za Python. Zapravo je ova interaktivna ljuska prva stavka koja se korisniku prikazuje prilikom pokretanja IDLE-a, a ne prazan uređivač. IDLE također uključuje nekoliko alata koji se nalaze u drugim IDE-ima, kao što su davanje prijedloga za ključne riječi ili varijable kada pritisnete Ctrl-Space i integrirani program za uklanjanje pogrešaka. No implementacije za većinu ovih značajki primitivne su u usporedbi s drugim IDE-ima i skrivene Tkinterovim ograničenim izborom UI komponenata. A kolekcija nezavisnih dodataka dostupnih za IDLE (jedan od takvih projekata je IdleX) nije ni izdaleka bogata kao što ćete ga naći s drugim IDE-ima.

Ukratko, IDLE je najbolji za dva scenarija. Prvo je kada želite spojiti brzu Python skriptu, a za to vam je potrebno unaprijed konfigurirano okruženje. Druga je za početnike koji tek dobivaju noge. Čak će i početnici brzo morati prijeći na robusniju opciju.

Spyder

Spyder je skraćenica od "Scientific PYthon Development EnviRonment". Namijenjen je za upotrebu kao radni stol za znanstveno računanje s Pythonom, a to se odražava u skupu značajki, pakiranju i cjelokupnom ponašanju IDE-a. Spyder ima korisne značajke za opći razvoj Pythona, ali ako uglavnom ne radite s IPythonom i znanstvenim računalnim paketima, vjerojatno vam je bolje s drugim IDE-om.

Najveći razlog da se Spyder ne koristi kao okruženje za razvoj Pythona opće namjene nije postavka značajki, već postupak postavljanja. Spyder se ne isporučuje kao samostalna izvršna datoteka na način kao što su Visual Studio ili PyCharm. Umjesto toga, instaliran je kao Python paket. Vaš najlakši put do Spydera je instaliranje Python distribucije koja dolazi unaprijed učitana, kao što je Anaconda iz Continuum Analytics.

1. Dostupno kao proširenje, ali podržava samo provjeru sintakse. 2. Dostupno kao dodatak Eclipse. 3. Dostupno u komercijalnoj verziji. 4. Pogledajte upute za integraciju. 5. Koristi sustave za kontrolu verzija instalirane na hostu.
  BESPOSLEN Komodo LiClipse PyCharm PTVS Spyder
Podrška za Cython Ne Da (1) Ne Da (3) Ne Ne
Kontrola verzija Ne Da Da Da Da Da (5)
Grafički program za ispravljanje pogrešaka Ne Da Da Da Da Ne
Podrška za IPython Ne Ne Ne Da Da (4) Da
Makronaredbe Ne Da Da (2) Da (2) Da Ne
Više tumača Ne Da Da Da Da Da
Refaktoriranje Ne Da Da Da Da Ne
Integracija baze podataka Ne Da Da (2) Da (3) Da Ne
HTML / CSS / JavaScript Ne Da Da Da Da (3) Ne

Spyder uključuje IPython, koji je zamjena za konvencionalnu Python konzolu. Kada upišete naredbe u IPython, rezultati se mogu interaktivno istraživati. Svaka naredba može se tretirati kao "ćelija" ili kao segment koda koji može imati pohranjene i poredane izlazne podatke.

Spyder tome dodaje integrirajući ponašanje stanica u svoj uređivač koda. Ako umetnete posebno oblikovane komentare u bilo koju Python skriptu, možete ih podijeliti u stanice i izvršiti te ćelije u IPython sučelju u bilo kojem redoslijedu. Na taj je način jednostavno koristiti Spyder za prototipiranje stanica za kasnije postavljanje u IPython bilježnicu.

Za ispravljanje pogrešaka, Spyder koristi ugrađeni Pythonov Pdb program za ispravljanje pogrešaka. Sučelje naredbenog retka za Pdb daleko je od sofisticiranijih grafičkih programa za pronalaženje pogrešaka koji se nalaze u PyCharmu ili LiClipseu, iako grafički program za pronalaženje pogrešaka Winpdb možete instalirati kao neobavezni dodatak. Nažalost, Winpdb ne možete koristiti s Pythonom 3, jer ima ovisnosti o paketima koji su još uvijek dostupni samo u Pythonu 2 (konkretno, wxPython). U tu će svrhu većina ljudi zaglaviti s PDB-om.

Spyder je također ograničen u usporedbi s drugim IDE-ima u svojoj integraciji sa sustavima za kontrolu verzija kao što su Git i Mercurial. Ako radite u inicijaliziranom spremištu projekata, datoteke u tom projektu prikazat će stavke kontekstnog izbornika desnom tipkom miša za spremište. Ipak, nema mehanizama za kontrolu verzija ugrađenih izravno u Spyder; trebate imati odgovarajuću aplikaciju za kontrolu verzija koja je već instalirana na razini sustava, a izvršne datoteke dostupne su s putanje sustava. Spyder također ne uključuje alate za upravljanje spremištima u svom korisničkom sučelju. Ti nedostaci nisu toliko loši ako već imate naviku sami upravljati spremištima, ali ako nisu, predstavljaju dodatne prepreke.

Spyder ima korisne značajke za opći razvoj Pythona. Ono što mi je odmah zapelo za oko je okno istraživača varijabli u Spyderovom sučelju. Dok upisujete naredbe u IPython, sve kreirane varijable tamo se zapisuju i mogu se istraživati ​​interaktivno. Još jedan koristan alat je brisanje korisničkog modula. Omogućite ga, a Python interpreter će ponovo učitati sve module od nule kada izvrši Python skriptu. Na taj se način sve promjene napravljene u kodu modula mogu primijeniti na pokrenut program bez ponovnog pokretanja cijele aplikacije.

ActiveState Komodo IDE

Linija IDE proizvoda ActiveState uključuje verzije za gotovo sve glavne jezike. Tvrtkin pristup ovome pomalo je sličan načinu na koji LiClipse radi: Uzmite osnovni proizvod (u ovom slučaju Komodo IDE) i opremite ga dodacima za razvoj Pythona.

Komodo je najprikladniji za one koji su već upoznati s inkarnacijama Komoda za druge jezike. Ljudi s takvim iskustvom za pojasom neće imati problema zaroniti u Python proizvod. Ako vas zahladi, ima nekih korisnih sučelja koje vrijedi napomenuti. Na primjer, traka izbornika aplikacije nije prema zadanim postavkama izložena; morate kliknuti izbornik hamburgera u gornjem desnom kutu ili dodirnuti tipku Alt da biste ga prikazali. Namijenjen je održavanju stvari čistim i jednostavnim, ali za neke ukuse može biti previše minimalistički.

S druge strane, neki od izbora sučelja odmah su privlačni. Posebno mi se svidjela "minimapa", uvećani pregled koda u uređivaču koji vam omogućuje da jednim skokom skočite na bilo koji dio datoteke koju uređujete. LiClipse ima sličnu značajku, ali s Komodovom implementacijom lakše je raditi.

Većina Python IDE-a opremljena je poput Python-ove provjere sintakse ili povezivanja koda. Komodo IDE ima sve to, ali također je dizajniran da istovremeno podržava verzije 2 i 3 jezika. Ako, na primjer, želite pokrenuti Python ljusku, a na vašoj su stazi sustava dostupni tumači za obje verzije Pythona, možete izričito odabrati bilo koju verziju. Često sam trebao pokretati brze testove ponašanja dane izjave u Pythonu 2 i Pythonu 3 jedan pored drugog, a ovo je zgodan način za to.

Komodo vam nudi mogućnost primjene višestrukih konfiguracija pokretanja ili uklanjanja pogrešaka za aplikaciju, ali malo je manje fleksibilna od slične značajke u LiClipseu. Kada pokrenete aplikaciju, daje vam se izbor profila za primjenu na program. Možete onemogućiti birač profila i uskočiti izravno u pokretanje profila, ali onemogućavanje se može izvršiti samo na razini aplikacije, a ne za određeni projekt. Više volim padajući izbornik LiClipse-ove alatne trake s kojeg možete odabrati zadani profil ili kliknuti na zadnji profil koji se koristi.

Jedno uistinu prekrasno uključivanje je priručnik za regularni izraz. Upišite regularni izraz u jedno okno ovog alata, unesite nekoliko uzoraka podataka na koje ćete ga primijeniti u drugo okno, a rezultati će se pojaviti u trećem. Alat također podržava višestruke okuse regularnog izraza, uključujući Python, pa čak prikazuje rezultate podudaranja, dijeljenja i zamjene. Stalno se borim s izradom radnih reggeksa, tako da je ovaj alat božji dar.

Još jedna korisna značajka koja dolazi izvan okvira je katalog uobičajenih isječaka koda za Python. Na primjer, kliknite na "hodaj", a uređivač ubacuje šifru uzorka da bi koristio Pythonovu os.walkfunkciju za prelazak po direktorijima, jednoj od funkcija čije se sintakse i upotrebe nikad ne mogu sjetiti. Uključeni su i drugi jezici. Na primjer, ako trebate umetnuti HTML standardnog izdanja u Django predložak koji pripremate, Komodo vas pokriva.

Zadana distribucija Pythona dolazi s podrškom za SQLite iz kutije. Komodo IDE to nadopunjuje pružajući ugrađeni istraživač za SQLite baze podataka. To je nekako poput uklonjene verzije desktop aplikacija "workbench" predviđenih za MySQL ili Microsoft SQL Server. Sučelje je nezgrapno i neprivlačno, ali je savršeno pogodno za brzi i prljavi pregled ili uređivanje baze podataka na licu mjesta. Nije namijenjen da služi kao cjeloviti IDE baze podataka.

U Komodu ćete pronaći mnoge druge korisne značajke, čak i ako nisu posebno usmjerene na Python. Snimač makronaredbi omogućuje vam snimanje i reprodukciju uobičajenih radnji, iako čini se da ne bilježi neke vrste radnji, poput odabira profila aplikacije koji ćete koristiti prilikom pokretanja aplikacije. Druga značajka omogućuje suradnju korisnika Komodoa u stvarnom vremenu, iako će se za pristup usluzi trebati prijaviti za račune s ActiveStateom.

LiClipse 

Eclipse IDE često se kritizira kao spor i preopterećen, ali njegova široka jezična podrška i galerija razvojnih dodataka čine ga snažnim i vrijednim alatom. Python je podržan u Eclipseu putem dodatka PyDev. Ako koristite Eclipse samo za razvoj Pythona, najbolje je da zgrabite LiClipse. (Tijekom ovog pregleda koristit ću LiClipse kao skraćenicu za paket značajki koje zajedno pružaju LiClipse i PyDev.)

LiClipse je ponovno pakiranje Eclipse-a s PyDev-om, zajedno s mnoštvom drugih Eclipse komponenata namijenjenih poboljšanju korisničkog iskustva. Kada je pokrenut, LiClipse izgleda i ponaša se slično kao i uobičajeno izdanje Eclipsea, zabranjujući oznake i ikone LiClipse, tako da iskusni korisnici Eclipsea ne bi trebali imati problema s konfiguriranjem radnog prostora po svom ukusu. Ako ste ne iskusan sa Eclipse, trebat će vam neko vrijeme kako bi naučili kako Eclipse je radni prostor djeluje (ovaj aspekt Eclipse rutinski se kritizira). U tom smislu, LiClipse je najbolji za ljude kojima je Eclipse već ugodan, možda ako u njemu rade putem drugog jezika.

Kartica rezultata Sposobnost (30%) Izvedba (10%) Jednostavnost upotrebe (20%) Dokumentacija (20%) Dodaci (20%) Ukupna ocjena (100%)
LIJEVO 3.5.1 6 7 8 7 5 6.5
Komodo IDE 10.1.1 8 8 7 8 8 7.8
LiClipse 3.1 9 7 7 8 9 8.2
PyCharm 2016.2.3 9 8 9 8 8 8.5
Spyder 3.0.0 7 7 7 7 6 6.8
Python Tools 2.2 za Visual Studio 2015 9 8 7 9 9 8.5