Ohjelmointi

Katsaus: 6 Python IDE: tä menee matolle

Kaikista mittareista, joiden avulla voit mitata kielen suosiota ja menestystä, yksi varma tekijä on sille käytettävissä olevien kehitysympäristöjen määrä. Pythonin suosion nousu viime vuosina on tuonut mukanaan vahvan IDE-tuen, ja työkalut on suunnattu sekä yleisohjelmoijalle että niille, jotka käyttävät Pythonia esimerkiksi tieteelliseen työhön ja analyyttiseen ohjelmointiin.

Nämä kuusi Python-tuettua IDE: tä kattavat käyttötapaukset. Jotkut ovat monikielisiä IDE: itä, joilla on Python-tuki lisäosan tai toisen tuotteen uudelleen pakkaamisen kautta Python-spesifisillä laajennuksilla. Jokainen niistä hyödyttää hieman erilaista Python-kehittäjien yleisöä, vaikka monet pyrkivätkin olemaan hyödyllisiä universaaleina ratkaisuina.

Nykyään suuri osa IDE: istä on kehyksiä, joissa on laajennuksia tietyille kielille ja tehtäville, eikä sisältäpäin kirjoitettuja sovelluksia kehityksen edistämiseksi tietyllä kielellä. Tätä varten IDE-valintasi voidaan määrittää sen perusteella, onko sinulla kokemusta toisen saman perheen IDE: n kanssa vai ei.

Liittyvä video: Miksi Python tekee ohjelmoinnista helppoa

Niille, joilla ei ole tällaista kokemusta, PyCharm on yksi parhaista paikoista aloittaa. Se on ystävällinen uusille tulijoille, mutta ei ominaisuuksiensa takana. Itse asiassa se harjoittaa kaikkein hyödyllisimpiä ominaisuuksia kaikkien tässä profiloitujen IDE: ien joukossa. Monet näistä ominaisuuksista ovat käytettävissä vain tuotteen maksullisessa versiossa, mutta ilmaisessa versiossa on paljon apua aloittelevan kehittäjän aloittamiseen.

LiClipse ja Python Tools for Visual Studio (PTVS) ovat hyviä valintoja kehittäjille, jotka tuntevat jo läheisesti Eclipsen ja Microsoft Visual Studion. Molemmat ovat täysimittaisia ​​kehitysympäristöjä - yhtä täynnä kuin aiot löytää -, jotka integroivat Pythonin melko hienosti. Ne ovat kuitenkin myös rönsyileviä, monimutkaisia ​​sovelluksia, joihin liittyy paljon kognitiivisia yleiskustannuksia. Jos olet jo oppinut jommankumman niistä, löydät siitä erinomaisen valinnan Python-työhön.

ActiveStaten Komodo IDE: n Python-inkarnaatio on luonnollinen niille, jotka ovat jo käyttäneet Komodo IDE: tä jollekin muulle kielelle, ja sillä on ainutlaatuisia ominaisuuksia (kuten säännöllisen lausekkeen arvioija), joiden pitäisi laajentaa sen vetovoimaa. Komodo ansaitsee sekä aloittelijoiden että asiantuntijoiden tarkan tarkastelun.

Spyder soveltuu parhaiten työskentelemään IPythonin tai muiden tieteellisesti laskevien työkalujen kanssa jakeluissa, kuten Anaconda, eikä yleisesti Pythonin kehitysalustana. Lopuksi, IDLE on parhaiten varattu nopeille ja likaisille komentosarjoille, ja jopa siinä määrin se saattaa viedä takapenkin erilliselle koodieditorille, jossa on Python-syntaksilaajennus. Siitä huolimatta, IDLE on aina siellä, kun tarvitset sitä.

IDLE

IDLEä, kehitysympäristöä, joka sisältyy useimpiin Python-asennuksiin, voidaan pitää oletuksena Python IDE: nä. IDLE ei kuitenkaan missään tapauksessa korvaa täysimittaista IDE: tä; se on enemmän kuin hieno tiedostojen muokkausohjelma. Silti IDLE on edelleen yksi oletusvaihtoehdoista Python-kehittäjille saada jalka kieleen, ja se on parantunut vähitellen jokaisen Python-julkaisun, erityisesti Python 3.5: n kanssa. (Katso tältä sivulta mielenkiintoinen keskustelu viimeaikaisista ponnisteluista IDLE: n parantamiseksi.)

IDLE on rakennettu kokonaan komponenteilla, jotka toimitetaan Pythonin oletusasennuksella. Itse CPython-tulkin lisäksi tämä sisältää Tkinter-käyttöliittymän työkalupakin. Yksi siunaus IDLE: n rakentamisesta tällä tavoin: Se kulkee alustojen yli yhtenäisellä käyttäytymisjoukolla. Haittapuolena on, että käyttöliittymä voi olla kauhean hidas. Esimerkiksi suurten tekstimäärien tulostaminen komentosarjasta konsoliin on monta suuruusluokkaa hitaampaa kuin jos komentosarja suoritettaisiin suoraan komentoriviltä.

IDLE: llä on muutama välitön mukavuus. Se harjoittaa sisäänrakennettua read-eval-print -silmukkaa (REPL) tai interaktiivista konsolia Pythonille. Itse asiassa tämä interaktiivinen kuori on ensimmäinen kohde, joka esitetään käyttäjälle, kun IDLE käynnistetään, eikä tyhjä editori. IDLE sisältää myös muutamia työkaluja, jotka löytyvät muista IDE: stä, kuten ehdotuksia avainsanoiksi tai muuttujiksi, kun painat Ctrl-Space, ja integroidun virheenkorjaimen. Mutta useimpien näiden ominaisuuksien toteutukset ovat primitiivisiä verrattuna muihin IDE: iin ja piiloutuneet Tkinterin rajoitetun valikoiman käyttöliittymäkomponenttien avulla. Ja kokoelma kolmansien osapuolten lisäosia, jotka ovat saatavana IDLE: lle (yksi tällainen projekti on IdleX), ei ole läheskään yhtä rikas kuin muiden IDE-ohjelmien kanssa.

Yhteenvetona voidaan todeta, että IDLE on paras kahdelle skenaariolle. Ensimmäinen on, kun haluat hakata nopeasti yhteen Python-komentosarjan, ja tarvitset siihen ennalta määritetyn ympäristön. Toinen on aloittelijoille, jotka ovat vasta saamassa jalkansa. Jopa aloittelijoiden on nopeasti siirryttävä vankempaan vaihtoehtoon.

Spyder

Spyder on lyhenne sanoista "Scientific PYthon Development EnviRonment". Se on tarkoitettu käytettäväksi työpöydänä tieteelliseen laskentaan Pythonin kanssa, ja se näkyy ominaisuusjoukossa, pakkauksessa ja IDE: n yleisessä käyttäytymisessä. Spyderillä on hyödyllisiä ominaisuuksia yleiseen Python-kehitykseen, mutta ellet työskentele pääasiassa IPythonin ja tieteellisten laskentapakettien kanssa, olet todennäköisesti parempi käyttää eri IDE: tä.

Suurin syy olla käyttämättä Spyderiä yleiskäyttöisenä Python-kehitysympäristönä ei ole ominaisuusjoukko, vaan asennusprosessi. Spyderiä ei toimiteta itsenäisenä suoritettavana kuten Visual Studio tai PyCharm. Sen sijaan se asennetaan Python-pakettina. Helpoin polku Spyderiin on asentaa esiladattu Python-jakelu, kuten Continuum Analyticsin Anaconda.

1. Saatavana laajennuksena, mutta tukee vain syntaksitarkistusta. 2. Saatavana Eclipse-lisäosana. 3. Saatavana kaupallisena versiona. 4. Katso integrointiohjeet. 5. Käyttää isäntään asennettuja versionhallintajärjestelmiä.
 IDLEKomodoLiClipsePyCharmPTVSSpyder
Cython-tukiEiKyllä (1)EiKyllä (3)EiEi
VersiohallintaEiJooJooJooJooKyllä (5)
Graafinen virheenkorjausEiJooJooJooJooEi
IPython-tukiEiEiEiJooKyllä (4)Joo
MakrotEiJooKyllä (2)Kyllä (2)JooEi
Useita tulkejaEiJooJooJooJooJoo
RefactoringEiJooJooJooJooEi
Tietokantojen integrointiEiJooKyllä (2)Kyllä (3)JooEi
HTML / CSS / JavaScriptEiJooJooJooKyllä (3)Ei

Spyder sisältää IPythonin, joka korvaa tavallisen Python-konsolin. Kun kirjoitat komentoja IPythoniin, tuloksia voidaan tutkia vuorovaikutteisesti. Kutakin komentoa voidaan käsitellä ”soluna” tai koodisegmenttinä, jonka ulostulo voidaan tallentaa ja lajitella.

Spyder lisää tähän integroimalla solujen käyttäytymisen koodieditoriinsa. Jos lisäät erityisen muotoiltuja kommentteja mihin tahansa Python-komentosarjaan, voit jakaa sen soluihin ja suorittaa nämä solut IPython-käyttöliittymässä missä tahansa järjestyksessä. Tällä tavalla on helppo käyttää Spyderiä prototyyppisolujen sijoittamiseen IPython-muistikirjaan myöhemmin.

Virheenkorjaukseen Spyder käyttää Pythonin sisäänrakennettua Pdb-virheenkorjainta. Pdb: n komentoriviliitäntä on kaukana PyCarmista tai LiClipsestä löytyvistä kehittyneemmistä graafisista virheenkorjauksista, vaikka voit asentaa Winpdb-graafisen virheenkorjaimen valinnaisena lisäosana. Valitettavasti et voi käyttää Winpdb: tä Python 3: n kanssa, koska sillä on riippuvuutta paketeista, jotka ovat edelleen käytettävissä vain Python 2: ssa (erityisesti wxPython). Tätä tarkoitusta varten useimmat ihmiset ovat jumissa Pdb: n kanssa.

Spyder on myös rajallinen verrattuna muihin IDE-laitteisiin integroituna versionhallintajärjestelmiin, kuten Git ja Mercurial. Jos työskentelet alustetussa projektivarastossa, projektin tiedostoissa näkyy hiiren kakkospainikkeella arkiston pikavalikkokohteita. Spyderiin ei kuitenkaan ole rakennettu versionhallintamekanismeja; Sinulla on oltava asianmukainen versionhallintasovellus jo asennettuna järjestelmätasolla, ja sen suoritettavat tiedostot ovat saatavana järjestelmän polulta. Spyder ei sisällä käyttöliittymässään työkaluja arkistojen hallintaan. Nämä puutteet eivät ole niin pahoja, jos sinulla on jo tapana hoitaa varastoja itse, mutta ne muodostavat ylimääräisiä esteitä, jos et ole.

Spyderillä on hyödyllisiä ominaisuuksia yleiseen Python-kehitykseen. Yksi, joka heti kiinnitti huomioni, on Spyderin käyttöliittymän muuttujanhallintaruutu. Kun kirjoitat komentoja IPythoniin, kaikki luodut muuttujat kirjataan sinne ja niitä voidaan tutkia vuorovaikutteisesti. Toinen hyödyllinen työkalu on User Module Deleter. Ota se käyttöön, ja Python-tulkki lataa kaikki moduulit alusta alkaen, kun se suorittaa Python-komentosarjan. Näin moduulin koodiin tehdyt muutokset voidaan soveltaa käynnissä olevaan ohjelmaan ilman, että koko sovellusta on käynnistettävä uudelleen.

ActiveState Komodo IDE

ActiveStaten IDE-tuotteiden sarja sisältää versioita lähes kaikille tärkeimmille kielille. Yrityksen lähestymistapa tähän on vähän kuin LiClipse: Ota perustuote (tässä tapauksessa Komodo IDE) ja asenna se Python-kehityksen lisäosilla.

Komodo sopii parhaiten niille, jotka ovat jo perehtyneet Komodon inkarnaatioihin muille kielille. Ihmisillä, joilla on tällainen kokemus vyönsä alla, ei ole vaikeuksia sukeltaa Python-tuotteeseen. Jos tulet kylmässä, on joitain käyttöliittymähäiriöitä, jotka on syytä huomata. Esimerkiksi sovelluksen valikkopalkki ei ole oletusarvoisesti näkyvissä; sinun on napsautettava hampurilaisvalikkoa oikeassa yläkulmassa tai napauttamalla Alt-näppäintä näyttääksesi sen. Sen on tarkoitus pitää asiat puhtaina ja yksinkertaisina, mutta se voi olla liian minimalistinen joillekin makuille.

Toisaalta jotkut käyttöliittymän valinnat ovat heti houkuttelevia. Pidin erityisen hyvin "minikartasta", joka on editorin koodin esikatselukuva, jonka avulla voit siirtyä yhdellä silmäyksellä mihin tahansa muokkaamasi tiedoston osaan. LiClipsellä on samanlainen ominaisuus, mutta Komodon toteutus on helpompaa työskennellä.

Useimmat Python IDE: t varustetaan esimerkiksi Python-spesifisellä syntaksitarkistuksella tai koodin nukkauksella. Komodo IDE: llä on kaikki tämä, mutta se on myös suunniteltu tukemaan kielen versioita 2 ja 3 samanaikaisesti. Jos haluat käynnistää esimerkiksi Python-kuoren ja sinulla on järjestelmääsi polussa käytettävissä olevat tulkit molemmille Python-versioille, voit valita jommankumman version. Olen usein joutunut suorittamaan pikatestejä tietyn lauseen käyttäytymisestä Python 2: ssa ja Python 3: ssa rinnakkain, ja tämä on kätevä tapa tehdä se.

Komodo tarjoaa sinulle mahdollisuuden soveltaa useita ajo- tai virheenkorjauskokoonpanoja sovellukselle, mutta se on hieman vähemmän joustava kuin vastaava ominaisuus LiClipsessä. Kun käynnistät sovelluksen, sinulle annetaan valinta profiileja sovellettavaksi ohjelmaan. Voit poistaa profiilin valitsimen käytöstä ja siirtyä suoraan profiilin suorittamiseen, mutta poistaminen käytöstä voidaan tehdä vain sovelluksen laajuisesti, ei tietylle projektille. Pidän parempana LiClipsen työkalurivin avattavasta valikosta, josta voit valita tietyn profiilin tai käynnistää viimeksi käytetyn profiilin napsautuksella.

Yksi todella upea osallisuus on säännöllisen lausekkeen työkalupakki. Kirjoita säännöllinen lauseke tämän työkalun yhteen ruutuun, anna esimerkkitietoja, joihin sitä voidaan soveltaa toisessa ruudussa, ja tulokset näkyvät kolmannessa. Työkalu tukee myös useita regex-makuja, mukaan lukien Python, ja jopa näyttää tulokset ottelu-, jako- ja korvaustoiminnoista. Taistelen koko ajan työskentelevien regexien valmistamisen kanssa, joten tämä työkalu on jumalatar.

Toinen hyödyllinen out-of-the-box-ominaisuus on luettelo tavallisista koodinpätkistä Pythonille. Napsauta esimerkiksi "kävellä", ja editori lisää kattilakoodin käyttääksesi Pythonia os. kävellä toiminto kulkea hakemistoja, yksi niistä toiminnoista, joiden syntaksia ja käyttöä en koskaan muista suoraan. Mukana on myös muita kieliä. Esimerkiksi, jos sinun on siirrettävä tavallinen HTML-koodi Django-malliin, jota olet valmistamassa, Komodo on katsonut.

Oletus Python-jakelussa on SQLite-tuki valmiina. Komodo IDE täydentää tätä tarjoamalla sisäänrakennetun tutkijan SQLite-tietokannoille. Se on eräänlainen poistettu versio MySQL: lle tai Microsoft SQL Serverille tarjotuista "työpöydän" työpöytäsovelluksista. Käyttöliittymä on kömpelö ja houkutteleva, mutta se soveltuu erinomaisesti nopeaan ja likaiseen tarkastukseen tai tietokannan pistemuokkaukseen. Sitä ei ole tarkoitus käyttää täysimittaisena tietokantana IDE.

Komodosta löytyy monia muita hyödyllisiä ominaisuuksia, vaikka ne eivät kohdistuisi nimenomaan Pythoniin. Makrotallentimen avulla voit tallentaa ja toistaa yleisiä toimintoja, vaikkakaan ei näytä tallentavan tietyntyyppisiä toimintoja, kuten sovelluksen profiilin valitseminen sovellusta käynnistettäessä. Toinen ominaisuus mahdollistaa reaaliaikaisen yhteistyön Komodo-käyttäjien välillä, vaikka heidän on rekisteröidyttävä tileille ActiveState-palvelussa päästäkseen palveluun.

LiClipse

Eclipse IDE: tä kritisoidaan usein hitaana ja ylikuormitettuna, mutta sen laaja kielituki ja kehitystyökalujen galleria tekevät siitä tehokkaan ja arvokkaan työkalun. Python on tuettu Eclipse-palvelussa PyDev-lisäosan kautta. Jos käytät Eclipseä muuhun kuin Python-kehitykseen, paras veto on tarttua LiClipseen. (Koko arvostelun ajan käytän LiClipsea lyhentenä LiClipsen ja PyDevin yhdessä tarjoamien ominaisuuksien joukolle.)

LiClipse on Eclipsen uudelleen pakkaaminen PyDev-sovellukseen sekä joukko muita Eclipse-komponentteja, joiden tarkoituksena on parantaa käyttökokemusta. Käynnistettäessä LiClipse näyttää ja käyttäytyy paljon kuin tavallinen Eclipse-versio, joka estää LiClipse-tuotemerkin ja kuvakkeet, joten kokeneilla Eclipse-käyttäjillä ei pitäisi olla paljon vaikeuksia määrittää työtila mieleisekseen. Jos olet ei kokenut Eclipsen kanssa, tarvitset jonkin aikaa oppiaksesi, kuinka Eclipsen työtila toimii (tätä Eclipsen näkökohtaa kritisoidaan rutiininomaisesti). Tässä mielessä LiClipse on paras ihmisille, joille Eclipse on jo miellyttävä, ehkä työskentelemällä siinä toisen kielen kautta.

TuloskorttiKyky (30%) Esitys (10%) Helppokäyttöisyys (20%) Dokumentointi (20%) Lisäosat (20%) Kokonaispistemäärä (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 Visual Studio 2015: lle98799 8.5
$config[zx-auto] not found$config[zx-overlay] not found