Programavimas

Peržiūra: 6 „Python“ IDE eina į kilimėlį

Iš visų metrikų, kurias galite naudoti norėdami įvertinti kalbos populiarumą ir sėkmę, vienas patikimas veiksnys yra jai prieinamų kūrimo aplinkų skaičius. „Python“ populiarumas per pastaruosius kelerius metus atnešė stiprią IDE palaikymo bangą - įrankiai skirti tiek bendram programuotojui, tiek tiems, kurie naudoja „Python“ tokioms užduotims kaip mokslinis darbas ir analitinis programavimas.

Šie šeši IDE su „Python“ palaikymu apima naudojimo atvejų spektrą. Kai kurie yra daugiakalbiai IDE, turintys „Python“ palaikymą per priedą arba perpakuojant kitą produktą su „Python“ specifiniais plėtiniais. Kiekvienas iš jų naudingas šiek tiek skirtingai „Python“ kūrėjų auditorijai, nors daugelis stengiasi būti naudingi kaip universalūs sprendimai.

Nemaža dalis IDE šiandien yra sistemos, aprūpintos papildiniais, skirtais konkrečioms kalboms ir užduotims atlikti, o ne programos, parašytos iš vidaus, siekiant skatinti vystymąsi tam tikra kalba. Tuo tikslu jūsų pasirinktą IDE gali nulemti tai, ar turite patirties su kitu tos pačios šeimos IDE.

Susijęs vaizdo įrašas: Kodėl „Python“ palengvina programavimą

Tiems, kurie neturi tokios patirties, „PyCharm“ yra viena geriausių vietų pradėti. Tai draugiška naujokams, bet neįkibusi į savo funkcijų rinkinį. Tiesą sakant, jis sportuoja naudingiausiomis funkcijomis tarp visų čia aprašytų IDE. Daugelis šių funkcijų yra prieinamos tik mokamoje produkto versijoje, tačiau nemokamoje versijoje yra daugybė, kad padėtų pradedančiam kūrėjui pradėti.

„LiClipse“ ir „Python Tools for Visual Studio“ (PTVS) yra geras pasirinkimas kūrėjams, kurie jau gerai susipažinę su „Eclipse“ ir „Microsoft Visual Studio“. Abi yra visiškai išsivysčiusios aplinkos - tiek pilnos, kiek rasite, - gana gerai integruojančios „Python“. Tačiau jie taip pat yra išplitę, sudėtingi pritaikymai, kurie suteikia daug pažintinių pridėtinių išlaidų. Jei jau įvaldėte kurį nors iš jų, rasite tai puikus pasirinkimas „Python“ darbui.

„ActiveState“ „Komodo IDE“ „Python“ įsikūnijimas yra natūralus dalykas tiems, kurie jau naudojo „Komodo IDE“ kitai kalbai, ir jis turi unikalių savybių (pvz., Reguliariosios išraiškos vertintojas), kurios turėtų išplėsti savo patrauklumą. Komodo nusipelno įdomaus naujokų ir ekspertų žvilgsnio.

„Spyder“ geriausiai tinka dirbti su „IPython“ ar kitomis moksliniais skaičiavimo įrankiais tokiuose platinimuose kaip „Anaconda“, o ne kaip „Python“ kūrimo platforma apskritai. Galiausiai, IDLE yra geriausia rezervuoti greitiems ir nešvariems scenarijams, ir net atsižvelgiant į tai, gali prireikti užpakalinės vietos atskiram kodo redaktoriui su „Python“ sintaksės įskiepiu. Be to, TEMPĖ visada yra šalia, kai to reikia.

NEVEIKLA

IDLE, kūrimo aplinka, įtraukta į daugumą kiekvieno „Python“ diegimo, gali būti laikoma numatytąja „Python IDE“. Tačiau IDLE jokiu būdu negali pakeisti pilnaverčio IDE; tai daugiau kaip išgalvotas failų redaktorius. Vis dėlto „IDLE“ išlieka viena iš numatytųjų „Python“ kūrėjų parinkčių, kad būtų lengviau susidoroti su kalba, ir ji palaipsniui tobulėjo kiekvieną „Python“ leidimą, ypač naudojant „Python 3.5“. (Šiame puslapyje rasite įdomių diskusijų apie pastangas tobulinti IDLE.)

„IDLE“ sukurtas tik su komponentais, kurie siunčiami su numatytuoju „Python“ diegimu. Be paties „CPython“ vertėjo, tai apima „Tkinter“ sąsajos įrankių rinkinį. Vienas privalumas kurti „IDLE“ tokiu būdu: jis veikia per platformą, naudodamas nuoseklų elgesio rinkinį. Neigiama sąsaja gali būti labai lėta. Pavyzdžiui, spausdinant didelius teksto kiekius iš scenarijaus į konsolę, daugybė laipsnių yra lėčiau nei tuo atveju, jei scenarijus būtų vykdomas tiesiai iš komandinės eilutės.

IDLE turi keletą tiesioginių patogumų. Jis sportuoja su „Python“ įmontuota „read-eval-print loop“ (REPL) arba interaktyvia konsole. Tiesą sakant, šis interaktyvus apvalkalas yra pirmasis elementas, pateiktas vartotojui paleidus IDLE, o ne tuščias redaktorius. IDLE taip pat yra keli įrankiai, rasti kituose IDE, pvz., Teikiant raktinių žodžių ar kintamųjų pasiūlymus, kai paspausite „Ctrl-Space“, ir integruotą derintuvą. Tačiau daugumos šių funkcijų įgyvendinimas yra primityvus, palyginti su kitomis IDE ir slepiamas dėl riboto Tkinter vartotojo sąsajos komponentų pasirinkimo. Trečiųjų šalių priedų, prieinamų IDLE, rinkinys (vienas iš tokių projektų yra „IdleX“) nė iš tolo nėra toks turtingas, kokį rasite su kitomis IDE.

Apibendrinant, IDLE geriausiai tinka dviem scenarijams. Pirmasis yra tada, kai norite nulaužti greitą „Python“ scenarijų ir tam reikia iš anksto sukonfigūruotos aplinkos. Antrasis skirtas pradedantiesiems, kurie dar tik gauna kojas. Net pradedantiesiems reikės greitai pereiti prie tvirtesnio pasirinkimo.

Spyderis

„Spyder“ reiškia „Scientific PYthon Development EnviRonment“. Jis skirtas naudoti kaip darbinis stendas moksliniam skaičiavimui su „Python“ ir tai atspindi funkcijų rinkinys, pakuotė ir bendras IDE elgesys. „Spyder“ turi naudingų funkcijų bendram „Python“ kūrimui, tačiau nebent dirbate daugiausia su „IPython“ ir moksliniais skaičiavimo paketais, jums tikriausiai geriau naudoti kitą IDE.

Didžiausia priežastis nenaudoti „Spyder“ kaip bendros paskirties „Python“ kūrimo aplinkos yra ne funkcijų rinkinys, o sąrankos procesas. „Spyder“ nėra pristatomas kaip atskiras vykdomasis produktas, pvz., „Visual Studio“ ar „PyCharm“. Vietoj to jis įdiegtas kaip „Python“ paketas. Lengviausias kelias į „Spyder“ yra įdiegti iš anksto įkeltą „Python“ paskirstymą, pvz., „Continuum Analytics“ „Anaconda“.

1. Galimas kaip plėtinys, tačiau palaiko tik sintaksės tikrinimą. 2. Galima įsigyti kaip „Eclipse“ priedą. 3. Yra komercinėje versijoje. 4. Žr. Integravimo instrukcijas. 5. Naudoja pagrindiniame kompiuteryje įdiegtas versijų valdymo sistemas.
 NEVEIKLAKomodoLiClipsePyCharmPTVSSpyderis
„Cython“ palaikymasNeTaip (1)NeTaip (3)NeNe
Versijų valdymasNeTaipTaipTaipTaipTaip (5)
Grafinis derintuvasNeTaipTaipTaipTaipNe
„IPython“ palaikymasNeNeNeTaipTaip (4)Taip
MakrokomandosNeTaipTaip (2)Taip (2)TaipNe
Keli vertėjai žodžiuNeTaipTaipTaipTaipTaip
RefaktoravimasNeTaipTaipTaipTaipNe
Duomenų bazių integracijaNeTaipTaip (2)Taip (3)TaipNe
HTML / CSS / „JavaScript“NeTaipTaipTaipTaip (3)Ne

„Spyder“ apima „IPython“, kuris yra įprastos „Python“ konsolės pakaitalas. Kai įvedate komandas į „IPython“, rezultatus galima interaktyviai ištirti. Kiekviena komanda gali būti traktuojama kaip „ląstelė“ arba kodo segmentas, kurio išvestis gali būti saugoma ir sugretinama.

„Spyder“ prie to prideda integruodamas ląstelių elgesį į savo kodo redaktorių. Jei į bet kurį „Python“ scenarijų įterpiate specialiai suformatuotus komentarus, galite juos padalyti į langelius ir vykdyti tas langelius „IPython“ sąsajoje bet kokia tvarka. Tokiu būdu lengva naudoti „Spyder“, kad vėliau būtų galima prototipuoti ląsteles, kad jos būtų dedamos į „IPython“ nešiojamąjį kompiuterį.

Derinimui „Spyder“ naudoja įmontuotą „Python“ Pdb derintuvą. „Pdb“ komandinės eilutės sąsaja yra toli nuo sudėtingesnių grafinių derintuvų, kuriuos galima rasti „PyCharm“ arba „LiClipse“, nors galite įdiegti „Winpdb“ grafinį derintuvą kaip papildomą priedą. Deja, jūs negalite naudoti „Winpdb“ su „Python 3“, nes jis priklauso nuo paketų, kurie vis dar prieinami tik „Python 2“ (konkrečiai, „wxPython“). Tuo tikslu dauguma žmonių bus įstrigę Pdb.

„Spyder“ taip pat yra ribotas, palyginti su kitomis IDE, integruojamas su versijų valdymo sistemomis, tokiomis kaip „Git“ ir „Mercurial“. Jei dirbate inicializuotoje projekto saugykloje, to projekto failuose dešiniuoju pelės mygtuku spustelėkite saugyklos kontekstinio meniu elementus. Beje, nėra jokių versijų valdymo mechanizmų, įmontuotų tiesiai į „Spyder“; jums jau reikia turėti atitinkamą versijos valdymo programą, jau įdiegtą sistemos lygiu, su jos vykdomaisiais failais, esančiais sistemos kelyje. „Spyder“ į savo vartotojo sąsają taip pat neįtraukia saugyklų valdymo įrankių. Šie trūkumai nėra tokie blogi, jei jau esate įpratęs pats tvarkyti saugyklas, tačiau jie yra papildomos kliūtys, jei nesate.

„Spyder“ turi naudingų funkcijų, skirtų bendram „Python“ kūrimui. Tas, kuris iškart patraukė mano dėmesį, yra kintamųjų naršyklių sritis „Spyder“ sąsajoje. Kai įvedate komandas į „IPython“, visi sukurti kintamieji ten užregistruojami ir gali būti tiriami interaktyviai. Kitas naudingas įrankis yra „User Module Deleter“. Įgalinkite jį ir „Python“ vertėjas iš naujo įkraus visus modulius, kai vykdys „Python“ scenarijų. Tokiu būdu visi modulio kodo pakeitimai gali būti taikomi veikiančiai programai iš naujo nepaleidus visos programos.

„ActiveState Komodo IDE“

„ActiveState“ IDE produktų linijoje yra beveik visų pagrindinių kalbų versijos. Bendrovės požiūris į tai šiek tiek panašus į tai, kaip veikia „LiClipse“: Paimkite pagrindinį produktą (šiuo atveju „Komodo IDE“) ir aprenkite jį „Python“ kūrimo priedais.

Komodas geriausiai tinka tiems, kurie jau žino Komodo įsikūnijimus kitoms kalboms. Žmonėms, turintiems tokią patirtį po diržais, nebus jokių problemų pasinerti į „Python“ produktą. Jei ateisite peršalę, verta atkreipti dėmesį į kai kurias vartotojo sąsajos problemas. Pavyzdžiui, programos meniu juosta pagal numatytuosius nustatymus nėra rodoma; turite spustelėti ant mėsainio meniu viršuje dešinėje arba paliesti Alt klavišą, kad jį parodytumėte. Jis skirtas tam, kad reikalai būtų švarūs ir paprasti, tačiau kai kuriems skoniams gali būti pernelyg minimalistiniai.

Kita vertus, kai kurie sąsajos pasirinkimai iš karto patrauklūs. Man ypač patiko „minimap“, priartinta kodo peržiūra redaktoriuje, leidžianti akimirksniu pereiti prie bet kurios redaguojamos failo dalies. „LiClipse“ turi panašią savybę, tačiau „Komodo“ diegimas yra lengviau dirbamas.

Dauguma „Python“ IDE yra aprūpinti panašiais į „Python“ specifinės sintaksės tikrinimą ar kodų puošimą. Visa tai turi „Komodo IDE“, tačiau ji taip pat sukurta palaikyti 2 ir 3 kalbos versijas tuo pačiu metu. Pavyzdžiui, jei norite paleisti „Python“ apvalkalą, o jūsų sistemos kelyje yra abiejų „Python“ versijų vertėjų, galite aiškiai pasirinkti bet kurią versiją. Man dažnai reikėjo atlikti greitus duoto pareiškimo „Python 2“ ir „Python 3“ elgesio testus, ir tai yra patogus būdas tai padaryti.

„Komodo“ suteikia galimybę pritaikyti kelias programos vykdymo arba derinimo konfigūracijas, tačiau tai yra šiek tiek mažiau lanksti nei panaši „LiClipse“ funkcija. Kai paleidžiate programą, jums suteikiama galimybė pasirinkti profilius, kuriuos norite pritaikyti programai. Galite išjungti profilio parinkiklį ir pereiti tiesiai į profilio valdymą, tačiau jį išjungti galima tik taikant programą, o ne konkrečiam projektui. Man labiau patinka „LiClipse“ įrankių juostos išskleidžiamasis meniu, kuriame galite pasirinkti nurodytą profilį arba spustelėdami paleisti naujausią profilį.

Vienas tikrai nuostabus įtraukimas yra reguliarios išraiškos priemonių rinkinys. Įveskite reguliarią išraišką vienoje šio įrankio srityje, pateikite keletą pavyzdžių duomenų, kuriems pritaikyti, antroje srityje, o rezultatai bus rodomi trečioje. Įrankis taip pat palaiko kelis regex skonius, įskaitant „Python“, ir netgi rodo atitikties, padalijimo ir pakeitimo operacijų rezultatus. Aš visą laiką kovoju su darbinių regexų kūrimu, todėl šis įrankis yra dievobaimingas.

Kita naudinga „out-of-the-box“ funkcija yra bendrų „Python“ kodo fragmentų katalogas. Pavyzdžiui, spustelėkite „vaikščioti“ ir redaktorius įterpia katilo plokštės kodą, kad būtų galima naudoti „Python“ os. pasivaikščiojimas funkcija, leidžianti pervažiuoti katalogus, viena iš funkcijų, kurios sintaksės ir naudojimo niekada negaliu atsiminti. Įtraukiamos ir kitos kalbos. Pvz., Jei jums reikia įkelti standartinio leidimo HTML į „Django“ šabloną, kurį ruošiate, „Komodo“ padengė jus.

Pagal numatytąjį „Python“ paskirstymą „SQLite“ palaikoma iš dėžutės. „Komodo IDE“ tai papildo pateikdama integruotą „SQLite“ duomenų bazių naršyklę. Tai panašu į „darbastalio“ darbalaukio programų, pateiktų „MySQL“ arba „Microsoft SQL Server“, versiją. Sąsaja yra nepatogi ir nepatraukli, tačiau ji puikiai tinka greitai ir nešvariai tikrinti ar redaguoti duomenų bazę. Tai nėra naudojama kaip visavertė IDE duomenų bazė.

„Komodo“ rasite daug kitų naudingų funkcijų, net jei jos nėra konkrečiai nukreiptos į „Python“. Makrokomandas leidžia įrašyti ir atkurti įprastus veiksmus, nors neatrodo, kad būtų įrašyti kai kurių tipų veiksmai, pavyzdžiui, pasirinkimas, kurį programos profilį naudoti paleidžiant programą. Kita funkcija leidžia „Komodo“ vartotojams bendradarbiauti realiuoju laiku, nors jie turės užsiregistruoti „ActiveState“ paskyrose, kad galėtų pasiekti paslaugą.

LiClipse

„Eclipse IDE“ dažnai kritikuojamas kaip lėtas ir perkrautas, tačiau dėl plačios kalbos palaikymo ir plėtros priedų galerijos jis tampa galingu ir vertingu įrankiu. „Python“ palaiko „Eclipse“ per „PyDev“ priedą. Jei „Eclipse“ naudojate ne tik „Python“ kūrimui, geriausia yra patraukti „LiClipse“. (Per šią apžvalgą naudosiu „LiClipse“ kaip „LiClipse“ ir „PyDev“ kartu teikiamų funkcijų rinkinį.)

„LiClipse“ yra „Eclipse“ perpakavimas su „PyDev“ kartu su daugybe kitų „Eclipse“ komponentų, skirtų pagerinti vartotojo patirtį. Paleistas „LiClipse“ atrodo ir elgiasi panašiai kaip įprastas „Eclipse“ leidimas, draudžiantis „LiClipse“ prekės ženklą ir piktogramas, todėl patyrusiems „Eclipse“ vartotojams neturėtų kilti didelių problemų konfigūruojant darbo sritį pagal savo skonį. Jei tu ne turėsite šiek tiek laiko, kad sužinotumėte, kaip veikia „Eclipse“ darbo erdvė (šis „Eclipse“ aspektas yra reguliariai kritikuojamas). Šia prasme „LiClipse“ geriausiai tinka žmonėms, kuriems „Eclipse“ jau yra patogu, galbūt dirbant joje per kitą kalbą.

Rezultatų kortelėgebėjimas (30%) Spektaklis (10%) Naudojimo paprastumas (20%) Dokumentacija (20%) Priedai (20%) Bendras rezultatas (100%)
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.0“77776 6.8
„Python Tools 2.2“, skirta „Visual Studio 2015“98799 8.5