Programiranje

Pregled: 6 ID-jev Python gre na mat

Med vsemi meritvami, s katerimi bi lahko ocenili priljubljenost in uspeh jezika, je zanesljiv dejavnik število razvojnih okolij, ki so zanj na voljo. Povečanje priljubljenosti Pythona v zadnjih nekaj letih je s seboj prineslo močan val podpore IDE z orodji, namenjenimi splošnemu programerju in tistim, ki Python uporabljajo za naloge, kot sta znanstveno delo in analitično programiranje.

Teh šest IDE-jev s podporo za Python pokriva obseg primerov uporabe. Nekateri so večjezični IDE, ki podpirajo Python prek dodatka ali pakiranja drugega izdelka z razširitvami, specifičnimi za Python. Vsak od njih ima nekoliko drugačno občinstvo razvijalca Pythona, čeprav se mnogi trudijo biti koristni kot univerzalne rešitve.

Danes je veliko število IDE-jev ogrodja, opremljena z vtičniki za določene jezike in naloge, in ne aplikacije, napisane od znotraj navzven, da bi pospešile razvoj v določenem jeziku. V ta namen lahko izbiro IDE določite glede na to, ali imate izkušnje z drugim IDE iz iste družine ali ne.

Povezani video: Zakaj Python olajša programiranje

Za tiste, ki nimajo takšnih izkušenj, je PyCharm eno najboljših krajev za začetek. Je prijazen do novincev, vendar v svojem naboru funkcij ni oviran. Pravzaprav vsebuje nekaj najbolj uporabnih funkcij med vsemi IDE-ji, ki so tukaj predstavljeni. Številne od teh funkcij so na voljo samo v plačljivi različici izdelka, v brezplačni različici pa je na voljo veliko, da lahko mlademu razvijalcu pomagajo pri začetku.

LiClipse in Python Tools for Visual Studio (PTVS) sta dobra izbira za razvijalce, ki že dobro poznajo Eclipse in Microsoft Visual Studio. Obe sta popolnoma razviti razvojni okolji - tako popolni, kot boste našli -, ki Python povsem lepo integrirata. Vendar pa so tudi obsežne, zapletene aplikacije, ki imajo veliko kognitivnih stroškov. Če ste že obvladali katerega od njiju, se vam zdi odlična izbira za Pythonovo delo.

Utelešenje Pythona v ActiveState-ovem Komodo IDE je naravno za tiste, ki so že uporabljali IDE-je Komodo za neki drug jezik, in ima edinstvene lastnosti (kot je ocenjevalec regularnih izrazov), ki bi morale razširiti njegovo privlačnost. Komodo si zasluži natančen pogled tako od začetnikov kot od strokovnjakov.

Spyder je najprimernejši za delo z IPythonom ali drugimi znanstveno-računalniškimi orodji v distribucijah, kot je Anaconda, in ne kot razvojna platforma za Python na splošno. Končno je IDLE najbolje rezerviran za hitra in umazana skriptiranja, in tudi v tem številu bo morda prišel nazaj na samostojni urejevalnik kode z vtičnikom za sintakso Python. Kljub temu je IDLE vedno na voljo, ko ga potrebujete.

NEDEJAVEN

IDLE, razvojno okolje, ki je vključeno v večino vsake namestitve Pythona, bi lahko šteli za privzeti IDE Python. Vendar IDLE nikakor ni nadomestek za polno razvit IDE; je bolj kot modni urejevalnik datotek. Kljub temu IDLE ostaja ena od privzetih možnosti za razvijalce Pythona, da se ujamejo z jezikom, in se je postopoma izboljševal z vsako izdajo Pythona, zlasti s Python 3.5. (Glejte to stran za zanimivo razpravo o nedavnih prizadevanjih za izboljšanje IDLE.)

IDLE je v celoti sestavljen iz komponent, ki so priložene s privzeto namestitvijo Pythona. Poleg samega tolmača CPython to vključuje tudi orodje za vmesnik Tkinter. Ena od prednosti gradnje IDLE na ta način: deluje na več platformah z doslednim naborom vedenj. Slaba stran je, da je vmesnik lahko strašno počasen. Tiskanje velikih količin besedila iz skripta v konzolo je na primer veliko zaporedjev počasneje, kot če se skript zažene neposredno iz ukazne vrstice.

IDLE ima nekaj neposrednih ugodnosti. Ima vgrajeno zanko za branje-eval-tiskanje (REPL) ali interaktivno konzolo za Python. Pravzaprav je ta interaktivna lupina prvi element, ki je uporabniku predstavljen ob zagonu IDLE, in ne prazen urejevalnik. IDLE vključuje tudi nekaj orodij, ki jih najdemo v drugih IDE-jih, na primer zagotavljanje predlogov za ključne besede ali spremenljivke, ko pritisnete Ctrl-Space, in integriran razhroščevalec. Toda izvedbe za večino teh funkcij so primitivne v primerjavi z drugimi IDE-ji in jih Tkinterjeva omejena izbira komponent uporabniškega vmesnika skriva. Zbirka neodvisnih dodatkov, ki so na voljo za IDLE (en tak projekt je IdleX), še zdaleč ni tako bogata, kot jo boste našli pri drugih IDE-jih.

Če povzamemo, IDLE je najboljši za dva scenarija. Prvi je, ko želite združiti hitri skript Python in za to potrebujete vnaprej nastavljeno okolje. Drugi je za začetnike, ki šele dobijo noge. Tudi začetniki bodo morali hitro preiti na bolj trdno možnost.

Spyder

Spyder je okrajšava za "Scientific PYthon Development EnviRonment." Namenjen je uporabi kot delovna miza za znanstveno računalništvo s Pythonom, kar se odraža v naboru funkcij, embalaži in splošnem vedenju IDE. Spyder ima uporabne funkcije za splošni razvoj Pythona, toda če ne delate predvsem z IPythonom in znanstvenimi računalniškimi paketi, vam je verjetno bolje, če imate drugačen IDE.

Največji razlog, da Spyderja ne uporabljamo kot splošnega razvojnega okolja Python, ni nabor funkcij, temveč postopek namestitve. Spyder ni na voljo kot samostojna izvedljiva datoteka na način izdelka, kot sta Visual Studio ali PyCharm. Namesto tega je nameščen kot paket Python. Vaša najlažja pot do Spyderja je namestitev distribucije Python, ki je vnaprej naložena, na primer Anaconda Continuum Analytics.

1. Na voljo kot razširitev, vendar podpira samo preverjanje skladnje. 2. Na voljo kot dodatek Eclipse. 3. Na voljo v komercialni različici. 4. Glejte navodila za integracijo. 5. Uporablja sisteme za nadzor različic, nameščene na gostitelju.
 NEDEJAVENKomodoLiClipsePyCharmPTVSSpyder
Podpora za CythonNeDa (1)NeDa (3)NeNe
Nadzor različicNeDaDaDaDaDa (5)
Grafični razhroščevalecNeDaDaDaDaNe
Podpora za IPythonNeNeNeDaDa (4)Da
MakroNeDaDa (2)Da (2)DaNe
Več tolmačevNeDaDaDaDaDa
RefaktoringNeDaDaDaDaNe
Integracija zbirke podatkovNeDaDa (2)Da (3)DaNe
HTML / CSS / JavaScriptNeDaDaDaDa (3)Ne

Spyder vključuje IPython, ki je zamenjava za običajno konzolo Python. Ko v IPython vnesete ukaze, je mogoče rezultate interaktivno raziskati. Vsak ukaz lahko obravnavamo kot »celico« ali kot del kode, ki ima lahko izhodne podatke shranjene in razvrščene.

Spyder k temu doda še integracijo vedenja celic v svoj urejevalnik kode. Če v kateri koli skript Python vstavite posebej oblikovane komentarje, jih lahko razdelite na celice in te celice v vmesniku IPython izvedete v poljubnem vrstnem redu. Tako je Spyder enostavno uporabiti za izdelavo prototipa celic za kasnejšo namestitev v prenosnik IPython.

Za razhroščevanje uporablja Spyder vgrajeni Pythonov razhroščevalec Pdb. Vmesnik ukazne vrstice za Pdb je daleč od bolj dovršenih grafičnih razhroščevalnikov, ki jih najdemo v PyCharm ali LiClipse, čeprav lahko grafični razhroščevalnik Winpdb namestite kot neobvezen dodatek. Na žalost Winpdb ne morete uporabljati s Pythonom 3, saj ima odvisnosti od paketov, ki so še vedno na voljo samo v Pythonu 2 (natančneje wxPython). V ta namen bo večina ljudi zaljubljena v Pdb.

Tudi Spyder je v primerjavi z drugimi IDE omejen pri integraciji s sistemi za nadzor različic, kot sta Git in Mercurial. Če delate v inicializiranem repozitoriju projekta, bodo datoteke v tem projektu prikazale elemente kontekstnega menija z desnim klikom na repozitorij. Kljub temu ni nobenega mehanizma za nadzor različic, vgrajenega neposredno v Spyder; na sistemu morate imeti že nameščeno ustrezno aplikacijo za nadzor različic z izvršljivimi datotekami, ki so na voljo na sistemski poti. Tudi Spyder v svoj uporabniški vmesnik ne vključuje orodij za upravljanje skladišč. Te pomanjkljivosti niso tako slabe, če ste že v navadi, da sami upravljate repozitorije, če pa ne, predstavljajo dodatne ovire.

Spyder ima uporabne funkcije za splošni razvoj Pythona. Tisti, ki mi je takoj padel v oči, je podokno raziskovalca spremenljivk v Spyderjevem vmesniku. Ko vnesete ukaze v IPython, se vse ustvarjene spremenljivke tam zabeležijo in jih je mogoče interaktivno raziskati. Drugo uporabno orodje je izbris uporabniškega modula. Omogočite jo in razlagalnik Python bo ob zagonu skripta Python znova naložil vse module. Na ta način lahko vse spremembe kode modula uveljavite v delujočem programu, ne da bi morali znova zagnati celotno aplikacijo.

ActiveState Komodo IDE

Linija izdelkov IDE ActiveState vključuje različice za skoraj vse večje jezike. Pristop podjetja k temu je podoben načinu delovanja LiClipse: vzemite osnovni izdelek (v tem primeru Komodo IDE) in ga opremite z dodatki za razvoj Pythona.

Komodo je najbolj primeren za tiste, ki že poznajo inkarnacije Komoda za druge jezike. Ljudje s takimi izkušnjami pod pasom ne bodo imeli težav s potapljanjem v izdelek Python. Če prihajate na mraz, velja omeniti nekaj posebnosti uporabniškega vmesnika. Na primer, menijska vrstica aplikacije ni privzeto prikazana; kliknite meni hamburgerja zgoraj desno ali tapnite tipko Alt, da se prikaže. Zadeve naj bi bile čiste in preproste, vendar so za nekatere okuse morda preveč minimalistične.

Po drugi strani pa so nekatere izbire vmesnikov takoj privlačne. Še posebej mi je bil všeč »minimap«, pomanjšani predogled kode v urejevalniku, ki vam omogoča hiter skok na kateri koli del datoteke, ki jo urejate. LiClipse ima podobno funkcijo, vendar je Komodovo izvedbo lažje delati.

Večina IDE-jev Python je opremljena s podobnim preverjanjem sintakse ali povezovanjem kode za Python. Komodo IDE ima vse to, hkrati pa je zasnovan tako, da hkrati podpira različice 2 in 3 jezika. Če želite na primer zagnati lupino Python in imate na vaši sistemski poti na voljo tolmače za obe različici Pythona, lahko izrecno izberete katero koli različico. Pogosto sem moral izvajati hitre teste vedenja dane izjave v Pythonu 2 in Pythonu 3 vzporedno, kar je priročen način.

Komodo vam ponuja možnost, da za aplikacijo uporabite več konfiguracij za zagon ali odpravljanje napak, vendar je nekoliko manj prilagodljiv kot podobna funkcija v LiClipse. Ko zaženete aplikacijo, imate na izbiro profile, ki jih želite uporabiti za program. Lahko onemogočite izbirnik profilov in skočite naravnost v zagon profila, vendar ga lahko onemogočite samo na podlagi aplikacije, ne pa za določen projekt. Raje imam spustni meni orodne vrstice LiClipse, iz katerega lahko izberete dani profil ali s klikom zaženete zadnji uporabljeni profil.

Resnično čudovita vključitev je orodje za regularni izraz. V eno podokno tega orodja vnesite regularni izraz, v drugo podokno vnesite nekaj vzorčnih podatkov, rezultati pa se prikažejo v tretjem. Orodje podpira tudi več okusov regularnega izraza, vključno s Pythonom, in celo prikazuje rezultate ujemanja, delitve in zamenjave. Ves čas se borim z izdelavo delujočih regularnih izrazov, zato je to orodje božja dar.

Druga uporabna zunanja oblika je katalog pogostih delčkov kode za Python. Na primer, kliknite »sprehod« in urejevalnik vstavi osnovno kodo za uporabo Pythona os.hod funkcija za prehod po imenikih, ena izmed funkcij, katerih sintakse in uporabe se nikoli ne spomnim. Vključeni so tudi drugi jeziki. Če na primer želite vstaviti HTML s standardno izdajo v predlogo Django, ki jo pripravljate, je Komodo to pokril.

Privzeta distribucija Pythona prihaja s podporo za SQLite že takoj. Komodo IDE to dopolnjuje z zagotavljanjem vgrajenega raziskovalca za zbirke podatkov SQLite. To je nekako kot odstranjena različica namiznih aplikacij "workbench", predvidenih za MySQL ali Microsoft SQL Server. Vmesnik je neroden in neprivlačen, vendar je popolnoma primeren za hiter in umazan pregled ali urejanje zbirke podatkov na kraju samem. Ni namenjen temu, da bi služil kot popolna IDE baze podatkov.

V Komodu boste našli številne druge uporabne funkcije, tudi če niso posebej usmerjene na Python. Makro snemalnik vam omogoča snemanje in predvajanje običajnih dejanj, čeprav se zdi, da ne beleži nekaterih vrst dejanj, na primer izbire profila aplikacije, ki jo želite uporabiti pri zagonu aplikacije. Druga funkcija omogoča sprotno sodelovanje med uporabniki Komoda, čeprav se bodo morali za dostop do storitve prijaviti za račune z ActiveState.

LiClipse

Eclipse IDE pogosto kritizirajo kot počasen in preobremenjen, vendar je zaradi široke jezikovne podpore in galerije razvojnih dodatkov močno in dragoceno orodje. Python je podprt v Eclipse prek dodatka PyDev. Če Eclipse uporabljate samo za razvoj Pythona, je najbolje, da zagrabite LiClipse. (V celotnem pregledu bom LiClipse uporabljal kot okrajšavo za sveženj funkcij, ki jih skupaj ponujata LiClipse in PyDev.)

LiClipse je prepakiranje Eclipse s PyDev, skupaj z množico drugih komponent Eclipse, namenjenih izboljšanju uporabniške izkušnje. Ob zagonu je LiClipse videti in se obnaša podobno kot običajna izdaja Eclipse, pri čemer prepoveduje blagovno znamko LiClipse in ikone, zato izkušeni uporabniki Eclipsea ne bi smeli imeti težav s konfiguracijo delovnega prostora po svojih željah. Če ste ne izkušeni z Eclipse, boste potrebovali nekaj časa, da se naučite, kako deluje delovni prostor Eclipse (ta vidik Eclipse je rutinsko kritiziran). V tem smislu je LiClipse najboljši za ljudi, ki jim je Eclipse že všeč, morda če v njem delajo v drugem jeziku.

PreglednicaSposobnost (30%) Izvedba (10%) Enostavnost uporabe (20%) Dokumentacija (20%) Dodatki (20%) Skupna ocena (100%)
IDLE 3.5.167875 6.5
Komodo IDE 10.1.188788 7.8
LiClipse 3.197789 8.2
PyCharm 2016.2.398988 8.5
Spyder 3.0.077776 6.8
Python Tools 2.2 za Visual Studio 201598799 8.5
$config[zx-auto] not found$config[zx-overlay] not found