Mediul de programare

În această scurtă lecție vom instala și configura un mediu de programare în Python, ce va fi folosit în următoarele lecții.

Evident, nu trebuie să folosiți sugestia noastră, dar veți fi pe cont propriu la problemele cauzate de eventualele diferențe.

Toate uneltele și bibliotecile folosite sunt gratuite pentru utilizare în scopuri non-profit.

Pachete

Majoritatea limbajelor de programare oferă o metodă de a separa codul în mai multe module independente - numite biblioteci, pachete sau module, în funcție de limbaj. Acestea pot fi folosite pentru a împarți o aplicație în mai multe secțiuni, sau împrumutate pentru a ușura munca și a evita reinventarea roții.

În Python, aceste biblioteci se numesc pachete (packages în engleză), și există diferite unelte, precum pip sau conda, ce descarcă automat pachetele din diverse surse prestabilite (mecanismul exact diferă puțin între cele două unelte).

Noi vom folosi conda, deoarece vine cu o interfață grafică intuitivă, numită Anaconda.

Environments

Diferite proiecte au nevoie de versiuni specifice ale unor pachete. Aceasta problemă este unul din motivele principale pentru conceptul de environments: un sandbox, un spatiu izolat în care se pot instala pachete fără a interacționa cu sistemul de operare sau cu alte proiecte.

Anaconda facilitează crearea de environments, precum și instalarea pachetelor. Recomandăm să folosiți încă de la început aceste unelte, și să configurați câte un environment separat pentru fiecare proiect. Vă va scăpa de mari bătăi de cap în viitor.

Jupyter

Înainte de a trece la instalarea pachetelor, trebuie introdus și mediul în care vom scrie codul propriu-zis: Jupyter.

Spre deosebire de alte unelte pentru scris cod, precum editoare de text sau IDE-uri, Jupyter nu este făcut pentru proiecte software. În schimb, oferă fucționalități pentru scrierea și executarea rapidă a unor secțiuni mici de cod, precum și vizualizarea facilă a rezultatelor. De asemenea, poate combina codul cu secțiuni de text. Aceste funcționalități îl fac ideal pentru orice tip de prototipare sau pentru a prezenta și documenta ușor rezultatele codului - exact ceea ce este nevoie pentru analiza și explorarea datelor. Și aceste lecții sunt scrise în Jupyter :).

Instalare

Pentru a instala Anaconda, trebuie doar să descarcați installer-ul de aici.

Dacă deschideți aplicația, ar trebui sa vedeți o fereastră similară cu aceasta:

Anaconda

Configurare

Pentru început, trebuie să creem un nou environment pentru acest tutorial.

Trebuie doar să mergeți pe tab-ul Evironments, din partea dreapta, apoi apăsați butonul Create. Alegeți un nume pentru environment, selectați Python 3 (cea mai mare versiune disponibilă) și apăsați butonul Create.

Tot din acest meniu putem instala pachete într-un environment. Pentru asta, asigurați-vă că environment-ul dorit este activ. În partea de sus, alegeți opțiunea All, și folosiți meniul de căutare pentru a instala pachete. Pentru lecțiile următoare vom avea nevoie de bibliotecile matplotlib și pandas. Căutați pachetul dorit, bifați căsuța din dreapta lui, apăsați Apply.

Acum trebuie doar să pregătim mediul de programare. În tab-ul Home, selectați noul environment. Aici sunt mai multe aplicații care pot fi instalate și lansate. În aceste lecții vom folosi Jupyter Notebook sau Jupyter Hub. Instalați-le pe ambele - după ce sunt instalate, butonul Install se transformă în Launch. Le vom prezenta pe scurt în secțiunea următoare. Veți putea alege varianta care vă place cel mai mult.

Pe viitor, pentru a începe să lucrați, trebuie doar să deschideți Anaconda, selectați environment-ul dorit și lansați aplicația aleasă.

Jupyter Notebook

Jupyter Notebook reprezintă atât un tip de fișier, cât și o aplicație, și sunt folosite adesea în analiza datelor și prototipare, întrucât permit ușoara îmbinare a codului cu documentația. De asemenea, se pot rula cu usurință doar secțiuni de cod, cu rezultate persistente.

Un Notebook este împărțit în celule. Fiecare celulă poate fi o secțiune de cod Python, sau o celulă de tip Markdown, pentru text. Celulele de cod sunt rulate în același mediu, variabilele și restul stării introduse sau modificate într-o celulă fiind acessibile în celelalte celule. Atenție, contează ordinea executării celulelelor, nu ordinea în care ele sunt scrise. De exemplu, dacă avem celulele urmatoare:

a = 10

print(a)

a = 20

, fiecare linie de aici reprezentând o celulă diferită, rezultatul afișat pe ecran va fi 10 dacă ele sunt rulate în ordinea în care sunt scrise. Dar, dacă după rularea celulei 3, se va rula celula 2, valoarea afișată va fi 20, întrucât valoarea lui a a fost schimbată la 20 în timpul execuției celei de-a treia celule.

Jupyter Hub este doar un mediu alternativ pentru a scrie și a rula Jupyter Notebooks. Este o opțiune bună atunci când trebuie să lucrați cu mai multe notebooks. În rest, oferă aceeași funcționalitate ca Jupyter Notebook. Întrucât meniurile din Jupyter Hub nu sunt atât de intuitive, vă recomandăm să folosiți pentru început Jupyter Notebook.