Programovanie

Recenzia: 6 IDP Pythonu ide na podložku

Jedným zo všetkých metrík, ktoré môžete použiť na meranie popularity a úspešnosti jazyka, je jedným z faktorov spoľahlivosti počet vývojových prostredí, ktoré sú preň k dispozícii. Rast popularity Pythonu za posledných niekoľko rokov priniesol silnú vlnu podpory IDE s nástrojmi zameranými tak na bežného programátora, ako aj na tých, ktorí používajú Python na úlohy ako vedecká práca a analytické programovanie.

Týchto šesť IDE s podporou Pythonu pokrýva škálu prípadov použitia. Niektoré sú viacjazyčné IDE, ktoré majú podporu Pythonu prostredníctvom doplnku alebo prebalenia iného produktu s rozšíreniami špecifickými pre Python. Každá z nich má prínos pre mierne odlišné publikum vývojárov Pythonu, aj keď mnohí sa snažia byť užitočné ako univerzálne riešenia.

Značným počtom IDE v súčasnosti sú rámce vybavené doplnkami pre konkrétne jazyky a úlohy, a nie aplikáciami písanými zvnútra smerom von, aby sa podporil vývoj v danom jazyku. Za týmto účelom môže byť váš výber IDE určený tým, či máte alebo nemáte skúsenosti s iným IDE z tej istej rodiny.

Súvisiace video: Prečo Python uľahčuje programovanie

Pre tých, ktorí také skúsenosti nemajú, je PyCharm jedným z najlepších miest, kde začať. Je priateľský k nováčikom, ale nie je obmedzený v množine funkcií. V skutočnosti obsahuje niektoré z najužitočnejších funkcií spomedzi všetkých IDE, ktoré sú tu profilované. Mnoho z týchto funkcií je k dispozícii iba vo verzii produktu za platenú verziu, ale v bezplatnej verzii je veľa možností, ktoré pomôžu začínajúcim vývojárom začať.

LiClipse a Python Tools for Visual Studio (PTVS) sú dobrou voľbou pre vývojárov, ktorí už dôverne poznajú aplikácie Eclipse a Microsoft Visual Studio. Obidve sú plnohodnotné vývojové prostredia - tak plnohodnotné, ako ich nájdete -, ktoré celkom pekne integrujú Python. Sú to však tiež rozsiahle a zložité aplikácie, ktoré prichádzajú s množstvom kognitívnych režijných nákladov. Ak ste si už osvojili niektorý z nich, zistíte, že je to skvelá voľba pre prácu v Python.

Inkarnácia jazyka Pyod v prostredí ActiveState Komodo IDE je prirodzená pre tých, ktorí už používali prostredie Komodo IDE v inom jazyku, a má jedinečné vlastnosti (napríklad hodnotiteľ regulárneho výrazu), ktoré by mali rozšíriť jeho atraktivitu. Komodo si zaslúži bližší pohľad od nováčikov i odborníkov.

Spyder je najvhodnejší na prácu s IPythonom alebo inými vedecko-výpočtovými nástrojmi v distribúciách ako Anaconda, a nie ako vývojová platforma pre Python všeobecne. Nakoniec, IDLE je najlepšie vyhradené pre rýchle a špinavé skriptovanie, a dokonca aj pri takom počte by to mohlo trvať späť na miesto pre samostatný editor kódu s doplnkom syntaxe Pythonu. To znamená, že IDLE je tu vždy, keď to potrebujete.

IDLE

IDLE, vývojové prostredie, ktoré je súčasťou väčšiny všetkých inštalácií Pythonu, možno považovať za predvolené IDE Pythonu. IDLE však v žiadnom prípade nenahrádza plnohodnotné IDE; je to skôr ako efektný editor súborov. Napriek tomu zostáva IDLE jednou z predvolených možností pre vývojárov Pythonu, aby sa dostali k jazyku a pri každom vydaní Pythonu sa to postupne zlepšovalo, najmä v prípade Pythonu 3.5. (Na tejto stránke nájdete zaujímavú diskusiu o nedávnych snahách o zlepšenie IDLE.)

IDLE je postavené výlučne na komponentoch, ktoré sa dodávajú s predvolenou inštaláciou Pythonu. Okrem samotného tlmočníka CPython sem patrí aj sada nástrojov pre rozhranie Tkinter. Jedna výhoda budovania IDLE týmto spôsobom: beží naprieč platformami s konzistentnou sadou správania. Ako negatívum môže byť rozhranie strašne pomalé. Napríklad tlač veľkého množstva textu zo skriptu do konzoly je oveľa rádovo pomalšia, ako keby sa skript spustil priamo z príkazového riadku.

IDLE má niekoľko okamžitých vymožeností. Športuje so zabudovanou slučkou REPL (read-eval-print loop) alebo s interaktívnou konzolou pre Python. V skutočnosti je tento interaktívny shell prvou položkou, ktorá sa používateľovi zobrazí pri spustení IDLE, a nie prázdnym editorom. IDLE tiež obsahuje niekoľko nástrojov nájdených v iných IDE, napríklad poskytovanie návrhov pre kľúčové slová alebo premenné, keď stlačíte Ctrl-Space, a integrovaný debugger. Implementácie väčšiny týchto funkcií sú ale primitívne v porovnaní s inými IDE a skryty obmedzeným výberom komponentov používateľského rozhrania spoločnosti Tkinter. A zbierka doplnkov tretích strán, ktoré sú k dispozícii pre IDLE (jedným z takýchto projektov je IdleX), nie je ani zďaleka taká bohatá, ako ich nájdete v iných IDE.

Stručne povedané, IDLE je najlepšie pre dva scenáre. Prvým je, keď chcete hacknúť rýchly skript v jazyku Python a potrebujete na to vopred nakonfigurované prostredie. Druhá je určená pre začiatočníkov, ktorí sa ešte len dostanú k nohám. Aj začiatočníci budú musieť rýchlo prejsť na robustnejšiu možnosť.

Spyder

Spyder je skratka pre „Scientific PYthon Development EnviRonment“. Je určený na použitie ako pracovná plocha pre vedecké výpočty s Pythonom a odráža sa to v súbore funkcií, balení a celkovom správaní IDE. Spyder má užitočné funkcie pre všeobecný vývoj v Pythone, ale pokiaľ nepracujete hlavne s balíčkami IPython a vedeckými výpočtovými balíkmi, bude vám asi lepšie iné IDE.

Najväčším dôvodom, prečo nepoužívať Spyder ako univerzálne vývojové prostredie pre Python, nie je sada funkcií, ale proces nastavenia. Spyder sa nedodáva ako samostatný spustiteľný program ako produkt ako Visual Studio alebo PyCharm. Namiesto toho je nainštalovaný ako balík Python. Najjednoduchšou cestou k Spyderu je inštalácia distribúcie Pythonu, ktorá je s ňou vopred nainštalovaná, napríklad Anaconda od Continuum Analytics.

1. K dispozícii ako rozšírenie, ale podporuje iba kontrolu syntaxe. 2. K dispozícii ako doplnok Eclipse. 3. K dispozícii v komerčnej verzii. 4. Pozrite si pokyny na integráciu. 5. Používa systémy riadenia verzií nainštalované na hostiteľovi.
 IDLEKomodoLiClipsePyCharmPTVSSpyder
Podpora pre CythonNieÁno (1)NieÁno (3)NieNie
Kontrola verzieNieÁnoÁnoÁnoÁnoÁno (5)
Grafický debuggerNieÁnoÁnoÁnoÁnoNie
Podpora protokolu IPythonNieNieNieÁnoÁno (4)Áno
MakráNieÁnoÁno (2)Áno (2)ÁnoNie
Viacero tlmočníkovNieÁnoÁnoÁnoÁnoÁno
RefaktoringNieÁnoÁnoÁnoÁnoNie
Integrácia databázyNieÁnoÁno (2)Áno (3)ÁnoNie
HTML / CSS / JavaScriptNieÁnoÁnoÁnoÁno (3)Nie

Spyder obsahuje IPython, ktorý je náhradou za konvenčnú konzolu Python. Pri zadávaní príkazov do IPythonu môžu byť výsledky interaktívne preskúmané. S každým príkazom sa dá zaobchádzať ako s „bunkou“ alebo so segmentom kódu, ktorý môže mať výstup uložený a zostavený.

Spyder to pridáva integráciou správania buniek do svojho editora kódu. Ak vložíte špeciálne naformátované komentáre do ľubovoľného skriptu Pythonu, môžete ich rozdeliť do buniek a vykonať ich v rozhraní IPython v ľubovoľnom poradí. Týmto spôsobom je ľahké použiť Spyder na prototypy buniek na umiestnenie do notebooku IPython neskôr.

Na ladenie používa Spyder vstavaný Pdb debugger od Pythonu. Rozhranie príkazového riadku pre Pdb je ďaleko od sofistikovanejších grafických debuggerov nájdených v PyCharm alebo LiClipse, aj keď grafický debugger Winpdb môžete nainštalovať ako voliteľný doplnok. Bohužiaľ nemôžete použiť Winpdb s Pythonom 3, pretože má závislosti na balíkoch, ktoré sú stále dostupné iba v Pythone 2 (konkrétne wxPython). Za týmto účelom bude väčšina ľudí uviaznutá na Pdb.

Spyder je tiež v porovnaní s inými IDE obmedzený pri svojej integrácii so systémami riadenia verzií ako Git a Mercurial. Ak pracujete v inicializovanom úložisku projektu, súbory v danom projekte zobrazia položky kontextového menu pre úložisko pravým tlačidlom myši. To znamená, že priamo v Spyderovi nie sú zabudované žiadne mechanizmy riadenia verzií; musíte mať nainštalovanú príslušnú aplikáciu na správu verzií na systémovej úrovni a jej spustiteľné súbory dostupné z cesty systému. Spyder do svojho používateľského rozhrania nezahŕňa ani nástroje na správu úložísk. Tieto nedostatky nie sú také zlé, ak už máte zvyk spravovať si úložiská sami, ale ak nie, predstavujú ďalšie prekážky.

Spyder má užitočné funkcie pre všeobecný vývoj v Pythone. Okamžite ma zaujal panel premenných prieskumníkov v Spyderovom rozhraní. Počas zadávania príkazov do protokolu IPython sa tam ukladajú všetky vytvorené premenné, ktoré je možné interaktívne preskúmať. Ďalším užitočným nástrojom je User Module Deleter. Povolte to a tlmočník Pythonu pri spustení skriptu Python znovu načíta všetky moduly od začiatku. Týmto spôsobom je možné všetky zmeny vykonané v kóde modulu aplikovať na spustený program bez nutnosti reštartovať celú aplikáciu.

ActiveState Komodo IDE

Rada produktov IDE ActiveState obsahuje verzie takmer pre každý hlavný jazyk. Prístup spoločnosti k tomu sa trochu podobá tomu, ako funguje LiClipse: Vezmite si základný produkt (v tomto prípade Komodo IDE) a vybavte ho doplnkami pre vývoj Pythonu.

Komodo je najvhodnejšie pre tých, ktorí už poznajú inkarnácie Komodo do iných jazykov. Ľudia s takýmito skúsenosťami pod pásmi nebudú mať žiadne problémy s ponorením sa do produktu Python. Ak prichádzate v chlade, stojí za zmienku niekoľko zvláštností používateľského rozhrania. Napríklad panel s ponukami aplikácií nie je v predvolenom nastavení odkrytý; musíte kliknúť na ponuku hamburgerov vpravo hore alebo klepnúť na kláves Alt, aby sa zobrazila. Má to slúžiť k udržaniu čistoty a jednoduchosti, ale pre niektoré chute môže byť príliš minimalistický.

Na druhej strane, niektoré možnosti rozhrania sú okamžite atraktívne. Obzvlášť sa mi páčila „minimapa“, oddialená ukážka kódu v editore, ktorá vám umožní rýchlym skokom prejsť do ktorejkoľvek časti súboru, ktorý upravujete. LiClipse má podobnú funkciu, ale s implementáciou Komodo sa pracuje ľahšie.

Väčšina IDE v Pythone je vybavená kontrolami syntaxe alebo prekladom kódu špecifickým pre Python. Komodo IDE má všetko, ale je tiež navrhnutý tak, aby podporoval verzie 2 a 3 jazyka súčasne. Ak chcete napríklad spustiť shell Pythonu a na svojej systémovej ceste máte k dispozícii tlmočníkov oboch verzií Pythonu, môžete si explicitne zvoliť ktorúkoľvek z týchto verzií. Často som potreboval vykonať rýchle testy správania daného príkazu v Pythone 2 a Pythone 3 vedľa seba, a toto je šikovný spôsob, ako to urobiť.

Komodo vám poskytuje možnosť použiť pre aplikáciu viac konfigurácií spustenia alebo ladenia, ale je o niečo menej flexibilný ako podobná funkcia v LiClipse. Po spustení aplikácie získate výber profilov, ktoré sa dajú použiť v programe. Môžete deaktivovať výber profilov a prejsť priamo na spustenie profilu, ale deaktiváciu je možné vykonať iba na základe celej aplikácie, nie pre konkrétny projekt. Dávam prednosť rozbaľovacej ponuke panela nástrojov LiClipse, z ktorej môžete vybrať daný profil alebo kliknutím spustiť naposledy použitý profil.

Jedným skutočne úžasným začlenením je sada nástrojov na regulárne výrazy. Na jeden panel tohto nástroja zadajte regulárny výraz, do druhého panela zadajte niektoré vzorové údaje, na ktoré ho chcete použiť, a výsledky sa zobrazia na treťom. Tento nástroj tiež podporuje viac príchutí regulárneho výrazu, vrátane Pythonu, a dokonca vám ukáže výsledky operácií zhody, rozdelenia a nahradenia. Neustále bojujem s vytváraním pracovných regulárnych výrazov, takže tento nástroj je darom z nebies.

Ďalšou užitočnou funkciou out-of-the-box je katalóg bežných útržkov kódu pre Python. Kliknite napríklad na „chôdzu“ a editor vloží štandardný kód pre použitie jazyka Python os.walk funkcia na prechádzanie adresárov, jedna z funkcií, na ktorých syntax a použitie si nikdy nespomeniem. Zahrnuté sú aj ďalšie jazyky. Napríklad, ak potrebujete vložiť štandardné vydanie HTML do šablóny Django, ktorú pripravujete, Komodo vás zahrnie.

Predvolená distribúcia v Pythone je dodávaná s podporou pre SQLite. Komodo IDE to dopĺňa tým, že poskytuje zabudovaný prieskumník pre databázy SQLite. Je to niečo ako odrezaná verzia desktopových aplikácií „workbench“ poskytovaných pre MySQL alebo Microsoft SQL Server. Rozhranie je neohrabané a neatraktívne, ale je úplne vhodné na rýchlu a špinavú kontrolu alebo okamžité úpravy databázy. Nemá slúžiť ako plnohodnotný databázový IDE.

V Komodo nájdete mnoho ďalších užitočných funkcií, aj keď sa nezameriavajú konkrétne na Python. Makro rekordér umožňuje zaznamenávať a prehrávať bežné akcie, aj keď sa zdá, že nezaznamenáva niektoré typy akcií, ako napríklad výber profilu aplikácie, ktorý sa má použiť pri spustení aplikácie. Ďalšia funkcia umožňuje spoluprácu medzi používateľmi Komodo v reálnom čase, aj keď pre prístup k službe sa budú musieť prihlásiť do účtov s ActiveState.

LiClipse

Eclipse IDE je často kritizované ako pomalé a preťažené, ale jeho široká jazyková podpora a galéria vývojových doplnkov z neho robia silný a hodnotný nástroj. Python je v Eclipse podporovaný cez doplnok PyDev. Ak Eclipse nepoužívate na nič iné ako vývoj v Pythone, najlepším riešením je chytiť LiClipse. (Počas celej tejto kontroly budem LiClipse používať ako skratku pre balík funkcií, ktoré spoločne poskytujú LiClipse a PyDev.)

LiClipse je prebalenie Eclipse s PyDev, spolu s množstvom ďalších komponentov Eclipse, ktoré majú vylepšiť užívateľský komfort. Po spustení LiClipse vyzerá a správa sa podobne ako bežné vydanie Eclipse, okrem značky a ikon LiClipse, takže skúsení používatelia Eclipse by nemali mať veľké problémy s konfiguráciou pracovného priestoru podľa svojich predstáv. Ak si nie so skúsenosťami s Eclipse, budete potrebovať nejaký čas, aby ste sa naučili, ako funguje pracovný priestor Eclipse (tento aspekt Eclipse je bežne kritizovaný). V tomto zmysle je LiClipse najlepší pre ľudí, ktorým Eclipse už vyhovuje, možno preto, že budú pracovať v inom jazyku.

Výsledková listinaSchopnosť (30%) Výkon (10%) Jednoduchosť použitia (20%) Dokumentácia (20%) Doplnky (20%) Celkové skóre (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 pre Visual Studio 201598799 8.5
$config[zx-auto] not found$config[zx-overlay] not found