Geriausias Python+Django IDE
Prisimenu, kaip prieš beveik metus pradėjo giliau žvelgi į Python(Dive ir Python) ir peršokti iš statuso ‘aš žinau kas tai yra ir galiu parašyti 5 eilutes kodo‘ į ‘aš galiu programuoti python‘, gana rimto pavadinimo blogo įrašu: ‘Python VS Php‘:
http://www.prisimenu.lt/2009/11/xml-amadeus-pnr-crs-gds-soap-python-vs-php/
Tai va, praėjo metai, ir pagal idėją turėjau padaryti progresą šioje srityje. Na ir šiokį tokį padariau, tačiau bene svarbiausias dalykas manau būtų būtent pats ’system setup’as ir IDE. Dažnai teko gūglo klausti ‘best Python IDE‘, ‘best ide for python‘ bei ‘python+django for windows7‘.
Išbandžiau turbūt bene visus žinomus populiaresnius IDE:
- 1. Aptana Studio 2 including PyDev 1.6.2
- 2. Eclipse+PyDev 1.6.2
- 3. Eric 5 Python IDE (QT + QScintilla)
- 4. Komodo Edit
- 5. NetBeans 6.9 + Python plugin
- 6. PyCharm 1.0 Beta 2 (PY-96.1203 , Rev 2010, Sep 17)
- 7. Python IDLE
- 8. µ.dev
- 9. WingIDE 4.0 Beta 4 / WingIDE 3.2.9
ir dar išsigooglinai ir apsišviečiau apie dar kelioliką įrankių skirtų Python’ui.
Mano progresas į Python’ą, o vėliau į Django buvo gana nestandartinis.
NetBeans 6.9 + Python plugin:
Kadangi gerai mokėjau Java, ir labai myliu NetBeans įrankį, kuris, mano nuomone, yra vienas geriausių IDE pasaulyje apskritai, tai pradėjau nuo Jython+Django buildo skirto NetBeans. Kas puiku – visa tai gavau per pačią NetBeans programą ‘plugins manager’ pagalba, todėl nieko instaliuoti kaip ir nebūtų reikėję, jeigu ne ’stable Jython’ problemos. T.y. Jython’as 2.5.1 ir senesni turėjo problemų su Exception’ų valdymu, todėl papildomai instaliavau 2.5.2 beta realyzus, kurie beje iki šiol vis dar beta stadijoje.
Viskas kaip ir gerai, išskyrus tai, kad Python’o pluginas NetBeans’e neturi Django palaikymo (tai yra suplanuota neva į NetBeans 7.0 įdiegti, tačiau bijau kad Python+NetBeans projektas šiuo metu yra apmiręs (viskas sustoję nuo berods dar 2008′ųjų).
Kitas trūkumus, nėra pilnaverčio Python auto-complete.
Tačiau pereinant nuo Javo’s į Python(Jython) tai labai puikus dalykas, teko netgi vieną Java programą perrašyti ant Jython’o. Be to labai puikiai ir lengvai pavyko prijungti PostgreSQL DB prie Jython programos.
—–
O dabar apie kitus IDE:
Python IDLE – na nebent kažką minimaliai pratęstuoti, tikrai netinka daryti kažką daugiau.
Eclipse+PyDev 1.6.2 – AŠ NEKENČIU ECLIPSE . Apsivėmiau nuo Eclipse kai teko ieškoti Java IDE įrankių prieš 3 metus. Ir daugiau matyti nebenoriu. Nuomonės nepakeitė ir Eclipse+Pydev naujausios versijos. Gal kam nors tai ir tinkami įrankiai, bet man aplinka visai nedraugiška, nemaloni ir nepatogi.
Eric 5 Python IDE (QT + QScintilla) – neva turėjo būti kažkoks stebuklingas įrankis. Instaliacija – tragedija. 99 proc. žmonių nė susiinstaliuoti kad viskas veiktų nesugebėtų. Nepatogu ir apskritai ‘ką kūrėjas sau galvojo’.
µ.dev – jokios instaliacijos, kažkas neva minimalistiško, bet absoliučiai niekas neveikė, bent jau su Windows 7. Python net programos hello world nepavyko paleisti.
Komodo Edit - Freeware variantas neskirtas sukurti kažką daugiau, trūksta daugybės galimybių. Pilnos versijos net tingėjosi bandyti. Iš video, galbūt ir pusiau velnio įrankis, tačiau esama versija neplaiko Django.
WingIDE 4.0 Beta 4 / WingIDE 3.2.9 – palaiko Django, bet man nepatiko. Nežinau kodėl taip buvo, bet kai kurios Python funkcijos neveikė, print’as nepripažindavo simbolių, o galbūt apskritai dvigubų kabučių, normaliai patogiai pasikurti ir valdyti projektų nepavyko. Yra nemažai kitų trukumų. Todėl nusprendžiau ieškoti kažko kito.
Aptana Studio 2 including PyDev 1.6.2 – variantas jau labai iš bėdos. Gana smarkiai jaučiasi Eclipse kvapas. Aš netgi sakyčiau, jog iš pirmo žvilgsnio atrodo tik Eclipse su pakeistu dizainu. Jeigu nebūtų nieko geriau, turbūt naudočiau. Beje, vienas kompetetingas su Python dirbantis kolega, paklausus jo nuomonės rekomendavo šį įrankį. Gaila, tačiau jis nebuvo girdėjęs apie PyCharm.
PyCharm 1.0 Beta 2 (PY-96.1203 , Rev 2010, Sep 17) – na va, štai ir priėjome. Ilgai bebėgiojus tarp įvairiausių IDE, apsistojau prie šio. Kol kas jis yra nemokamas, nes neturi dar 1.0 Stable versijos. Tačiau jos man tiesa sakant nelabai ir reikėjo. Projektas dar visai naujas, tačiau progresuoja valandomis, vien per šį rugsėji jau buvo padaryti 3 relyzai šios programo versijų. Naujausias 96.1203. O programa išties puiki – automatinis paketų kurimas, ir atpažinimas, Python ir Django Unit testai, Source control – Mercurial, Perforce, Subversion, CVS, Git; itin gilus Python ir Django debuggeris, demo projektai, Python ir Django auto-complete, automatinis instaliacijų suradimas (tiesa, kol kas – kai pridedate Platform, tai dar papildomai per add pridėkite ir Site-Packages direktoriją, kad ir Django instaliuotą surastų).
Automatizuotas Python+Django serverio paleidimas/buildas vos vieno klavišo paspaudimu, grafinis debugeris, panašus į C# naudojama Microsoft Visual Studio 2008. Be to labai paprastas Windows-1257/UTF-8 koduočių switch’ingas ir daugybė kitų dalykų.
Na o tiems, kurie dar netiki PyCharm’u, geriau pasižiūrėkite šį video:
O svarbiausia, aš dievinu šį tūlsą dėl labai faino interfeiso. Ir pamėgiau jį iškart – taip kaip buvo Free Pascal AKL atveju(kai rinkausi Pascal IDE), taip kaip buvo Code::Blocks(kai rinkausi C++ IDE, ir po to kai supykino DevC++), ir lygiai taip kaip atradau NetBeans IDE(ieškodamas geriausio Java redaktoriaus, ir 3 dienas pykinus nuo Eclipse).
Be abejonės seksiu šio projekto pažanga, bet jeigu JetBrains PyCharm kurėjai sukurė tai, ką mačiau, jau dabar, dar 1.0 beta versijoje, tai net baisu galvoti, ką mes turėsime su 2.0.
Atsiųsti Pycharm galima iš čia (Developer blogas su naujausiais relyzais):
http://blogs.jetbrains.com/pycharm/
Aišku taip pat laukčiau Python+NetBeans 7.0, jeigu Python geek’ai neapleido dar šio projekto.
Pastebėjimo dėlei - su PyCharm, nuo atsisiuntimo ir visiško nulio, pakurti minimalų Django hello world saituką prisireikė vos 20 minučių, su kitomis programomis, vien Python paleisti per IDE užtrukdau dieną ar ilgiau, ką bekalbėti apie antrąjį, Django etapą.
Tiesa, neužsiminau apie IronPython’ą, bet čia manau viskas aišku – MS Visual Studio 2010. Beje, kaip kad CPython+Django, su IronPython’u pasiėmiau alternatyvą – IronPython+SilverLight. Beje, labai smagiau programavosi ir pakūriau pora projektėlių. Minusas tik tas, kad jie veikė tik Windows serveriuose. O tai gana didelė prabanga. Per daug komerciška nedideliems projektams įmonėms.
Išvados:
Jeigu nori kad būtų paprasta, ir turi patirties su Java – naudok NetBeans+Jython pluginus. Galėsi dalį kodo rašyti Python, dalį Java, maišyti bibliotekas ir paketus. Paprastai sukonfigūruosi duom. bazės naudojimą.
Antras etapas – jeigu neteko dirbti su Java, arba jau moki Jython, ir nori labiau pasinerti į web on Python – Django, imk PyCharm+Python 2.7+Django, arba MS Visual Studio+IronPython+SilverLight, jeigu tekę dirbti nemažai su MS Visual Studio ir šiaip prijauti MicroSoftui bei norėtum SilverLight’o, o Django tau nėra prioritetinis web framework’as.