Ukratko

Najvažnije iz članka

  • Conda omogućava izolaciju projekata i upravljanje različitim verzijama paketa, sprječavajući konflikte ("dependency hell").
  • Jupyter Lab pruža fleksibilno, proširivo i interaktivno razvojno okruženje idealno za analizu podataka, vizualizaciju i dokumentiranje koda.
  • Preporučuje se instalacija Miniconda (umjesto pune Anaconde) za minimalnu instalaciju i potpunu kontrolu nad paketima.
  • Ključno je koristiti `environment.yml` datoteke za dijeljenje postavki okoline, osiguravajući reproducibilnost projekata.
Sadržaj članka
  1. Zašto Jupyter Lab i Conda?
  2. Jupyter Lab: Interaktivno okruženje za Data Science
  3. Conda: Upravljanje okolinama bez glavobolje
  4. Instalacija Conda alata (Miniconda)
  5. Korak 1: Preuzimanje Miniconda instalera
  6. Korak 2: Pokretanje instalacije
  7. Korak 3: Provjera instalacije
  8. Upravljanje Conda okolinama
  9. Kreiranje nove okoline
  10. Aktivacija okoline
  11. Deaktivacija okoline
  12. Instalacija paketa
  13. Prikaz instaliranih paketa
  14. Prikaz svih Conda okolina
  15. Uklanjanje okoline
  16. Dijeljenje okolina (reproducibilnost)
  17. Instalacija i konfiguracija Jupyter Laba
  18. Korak 1: Instalacija Jupyter Laba u okolinu
  19. Korak 2: Pokretanje Jupyter Laba
  20. Korak 3: Upravljanje kernelima (povezivanje okolina s Jupyter Labom)
  21. Uklanjanje neželjenih kernela
  22. Zaključak i najbolje prakse
  23. Ključne preporuke:

Dobrodošli u svijet Data Sciencea, gdje su efikasnost i reproducibilnost ključni za uspjeh svakog projekta. U ovom opsežnom vodiču, istražit ćemo dva temeljna alata koja su postala de facto standard u industriji: Jupyter Lab za interaktivno programiranje i analizu podataka, te Conda (ili Miniconda) za upravljanje paketima i virtualnim okolinama. Cilj nam je pružiti vam sveobuhvatan pregled, od instalacije do napredne konfiguracije, kako biste mogli s lakoćom upravljati svojim Data Science projektima.

Zašto Jupyter Lab i Conda?

Prije nego što zaronimo u praktične korake, važno je razumjeti zašto su ovi alati toliko cijenjeni u Data Science zajednici.

Jupyter Lab: Interaktivno okruženje za Data Science

Jupyter Lab je sljedeća generacija popularnog Jupyter Notebooka. On nudi fleksibilno, proširivo interaktivno razvojno okruženje za web, dizajnirano za Data Science, strojno učenje i znanstveno računarstvo. Sadrži mnoštvo značajki koje ga čine superiornim u odnosu na klasični Notebook:

  • Višejezična podrška: Iako je najčešće korišten s Pythonom, podržava više od 40 programskih jezika (kroz kernele), uključujući R, Julia, Scala i JavaScript.
  • Fleksibilan UI: Omogućuje organiziranje radnog prostora s više dokumenata i aktivnosti (poput bilježnica, terminala, tekstualnih editora, datotečnog preglednika) u fleksibilnom prozorskom sučelju.
  • Integrirani terminali i editori: Možete pokretati terminalske sesije, uređivati tekstualne datoteke i pregledavati direktorije, sve unutar istog sučelja.
  • Proširivost: Snažna arhitektura proširenja omogućuje dodavanje novih funkcionalnosti, što ga čini iznimno prilagodljivim potrebama korisnika.
  • Reproducibilnost: Kombinira kod, vizualizacije i narativni tekst u jedan dokument, olakšavajući dijeljenje i reprodukciju istraživanja.

Conda: Upravljanje okolinama bez glavobolje

Conda je open-source sustav za upravljanje paketima i okolinama koji radi na Windows, macOS i Linux operativnim sustavima. Razvijen je prvenstveno za Python, ali podržava pakete za bilo koji jezik. Njegova snaga leži u sposobnosti da kreira i izolira različite virtualne okoline.

Zašto je to važno? U Data Scienceu, često radite na više projekata istovremeno, od kojih svaki može zahtijevati različite verzije biblioteka ili paketa. Na primjer, jedan projekt može koristiti scikit-learn verziju 0.23, dok drugi zahtijeva verziju 1.0. Bez Conda okolina, instalacija različitih verzija može dovesti do konflikata i "ovisničkog pakla" (dependency hell), gdje jedan paket prekida funkcionalnost drugog. Conda rješava ovaj problem:

  • Izolacija projekata: Svaki projekt može imati svoju zasebnu okolinu s točno određenim verzijama paketa.
  • Reproducibilnost: Lako je dijeliti environment.yml datoteke, osiguravajući da drugi korisnici mogu replicirati vaše točno radno okruženje.
  • Jednostavno upravljanje: Sve operacije (instalacija, ažuriranje, uklanjanje paketa i okolina) izvode se jednostavnim komandama.

Instalacija Conda alata (Miniconda)

Preporučujem instalaciju Miniconda umjesto pune Anaconda distribucije, osim ako vam nije izričito potrebna široka paleta preinstaliranih paketa. Miniconda je minimalan instalacijski program koji uključuje Conda, Python i mali broj osnovnih paketa. To vam daje potpunu kontrolu nad time što ćete instalirati, štedi prostor na disku i izbjegava potencijalno nepotrebne pakete.

Korak 1: Preuzimanje Miniconda instalera

Posjetite službenu Conda web stranicu (pogledajte izvore) i preuzmite odgovarajući instalacijski program za vaš operativni sustav (Windows, macOS, Linux). Obavezno odaberite najnoviju stabilnu verziju Pythona (npr. Python 3.x).

Korak 2: Pokretanje instalacije

Windows

Pokrenite preuzetu .exe datoteku. Slijedite upute na zaslonu. Preporučuje se:

  • Odaberite "Just Me" (preporučeno) ili "All Users" ako imate administrativne privilegije i želite da bude dostupno svima.
  • VAŽNO: Obavezno označite opciju "Add Anaconda to my PATH environment variable" (ili "Add Miniconda3 to my PATH environment variable"). To će vam omogućiti pokretanje conda komandi iz bilo kojeg terminala. Ako zaboravite, morat ćete ručno dodati putanju ili uvijek koristiti Anaconda Prompt.
  • Završite instalaciju.

macOS i Linux

Otvorite terminal i navigirajte do direktorija gdje ste preuzeli instalacijsku skriptu (obično Downloads). Zatim pokrenite:

bash Miniconda3-latest-Linux-x86_64.sh  # Zamijenite s ispravnim nazivom datoteke za vaš OS

Slijedite upute na zaslonu. Prihvatite licencni ugovor i potvrdite instalacijski direktorij. Na kraju instalacije, bit ćete upitani želite li inicijalizirati Conda. Odgovorite s yes. Ako ste odabrali no, možete to učiniti ručno kasnije:

conda init

Zatvorite i ponovno otvorite terminal kako bi se promjene primijenile.

Korak 3: Provjera instalacije

Otvorite novi terminal (ili Anaconda Prompt na Windowsu) i upišite:

conda --version

Trebali biste vidjeti verziju Conda alata. Također, provjerite:

python --version

Ovo bi trebalo prikazati verziju Pythona koju je instalirao Conda.

Upravljanje Conda okolinama

Sada kada je Conda instalirana, možemo početi s upravljanjem virtualnim okolinama.

Kreiranje nove okoline

Za kreiranje nove okoline po imenu moj_ds_projekt s Pythonom verzije 3.9, koristite:

conda create --name moj_ds_projekt python=3.9

Možete odmah instalirati i osnovne Data Science pakete:

conda create --name moj_ds_projekt python=3.9 pandas numpy matplotlib scikit-learn jupyterlab

Aktivacija okoline

Prije nego što možete koristiti pakete instalirane u određenoj okolini, morate je aktivirati:

conda activate moj_ds_projekt

Primijetit ćete da se naziv aktivne okoline (npr. (moj_ds_projekt)) pojavljuje na početku vašeg terminalskog prompta. To znači da će sve python, pip i conda komande sada ciljati tu okolinu.

Deaktivacija okoline

Kada završite s radom u okolini, možete je deaktivirati:

conda deactivate

Ovo će vas vratiti u vašu baznu Conda okolinu (ili sistemsku Pythona ako ste je ranije imali).

Instalacija paketa

Unutar aktivirane okoline, možete instalirati pakete koristeći conda install ili pip install.

Conda install (preporučeno kad god je moguće):

conda install seaborn
conda install -c conda-forge plotly

-c conda-forge specificira kanal s kojeg se paket preuzima. conda-forge je popularan kanal s velikim brojem paketa.

Pip install (koristite kada paket nije dostupan preko Conda):

pip install great_expectations

Prikaz instaliranih paketa

Unutar aktivirane okoline:

conda list

Prikaz svih Conda okolina

conda env list

Ili kraće:

conda info --envs

Uklanjanje okoline

Ako vam okolna više ne treba, možete je ukloniti:

conda remove --name moj_ds_projekt --all

Budite oprezni: Ova komanda trajno briše okolinu i sve pakete unutar nje.

Dijeljenje okolina (reproducibilnost)

Jedna od najmoćnijih značajki Conda je mogućnost jednostavnog dijeljenja konfiguracije okoline. To osigurava reproducibilnost vašeg rada.

Izvoz okoline:

Unutar aktivirane okoline, izvezite je u environment.yml datoteku:

conda env export > environment.yml

Ova datoteka će sadržavati naziv okoline, Python verziju i popis svih instaliranih paketa s njihovim verzijama.

Uvoz okoline:

Netko drugi (ili vi sami na drugom stroju) može stvoriti istu okolinu iz te datoteke:

conda env create -f environment.yml

Instalacija i konfiguracija Jupyter Laba

Pretpostavimo da ste već instalirali Conda i stvorili okolinu moj_ds_projekt s Pythonom 3.9.

Korak 1: Instalacija Jupyter Laba u okolinu

Prvo, aktivirajte vašu Data Science okolinu (ako već niste):

conda activate moj_ds_projekt

Zatim instalirajte Jupyter Lab. Preporučuje se instalirati ga preko Conda:

conda install jupyterlab

Korak 2: Pokretanje Jupyter Laba

Nakon instalacije, možete pokrenuti Jupyter Lab iz iste aktivirane okoline:

jupyter lab

Ovo će otvoriti novu karticu u vašem web pregledniku s Jupyter Lab sučeljem. U terminalu će se prikazati URL, obično http://localhost:8888/lab. Ako želite pristupiti Jupyter Labu s drugog računala ili ga pokrenuti na specifičnom portu, možete koristiti opcije:

jupyter lab --port 9999 --no-browser --ip 0.0.0.0
  • --port: Definira na kojem portu će se pokrenuti server.
  • --no-browser: Sprječava automatsko otvaranje u web pregledniku.
  • --ip 0.0.0.0: Omogućuje pristup s bilo koje IP adrese (korisno za udaljeni pristup, ali budite oprezni s sigurnošću).

Korak 3: Upravljanje kernelima (povezivanje okolina s Jupyter Labom)

Jupyter Lab koristi "kernele" za izvršavanje koda. Kada instalirate Jupyter Lab unutar Conda okoline, on automatski dodaje kernel za tu okolinu. Međutim, ako imate više Conda okolina i želite im pristupiti iz jednog Jupyter Laba (npr. iz vaše bazne okoline ili jedne specifične), trebate instalirati ipykernel u svaku od tih okolina i registrirati ih.

Primjer: Povezivanje okoline drugi_projekt s Jupyter Labom

  1. Kreirajte i aktivirajte drugu okolinu (ako je već nemate):

    conda create --name drugi_projekt python=3.8 pandas
    conda activate drugi_projekt
    
  2. Instalirajte ipykernel u tu okolinu:

    conda install ipykernel
    
  3. Registrirajte kernel te okoline u Jupyteru:

    python -m ipykernel install --user --name=drugi_projekt --display-name "Python (Drugi Projekt)"
    
    • --user: Instalira kernel za trenutnog korisnika.
    • --name: Interni naziv kernela (preporučeno isto kao naziv okoline).
    • --display-name: Naziv koji će se prikazati u Jupyter Labu (npr. u padajućem izborniku za odabir kernela).

Sada, kada pokrenete Jupyter Lab iz bilo koje okoline (npr. vaše moj_ds_projekt okoline ili bazne), moći ćete odabrati "Python (Drugi Projekt)" kao kernel za svoje bilježnice.

Uklanjanje neželjenih kernela

Ako želite ukloniti kernel iz Jupyter Lab izbornika:

jupyter kernelspec list

Ovo će vam pokazati instalirane kernele i njihove putanje. Zatim uklonite željeni kernel:

jupyter kernelspec uninstall drugi_projekt

Zaključak i najbolje prakse

Kombinacija Jupyter Laba i Conda predstavlja moćan ekosustav za svakog Data Scientist-a. Ovladavanje ovim alatima omogućit će vam strukturiraniji, efikasniji i reproducibilniji rad na vašim projektima.

Ključne preporuke:

  • Uvijek koristite virtualne okoline: Nikada nemojte instalirati pakete globalno ili u vašoj baznoj Conda okolini za specifične projekte. Svaki projekt treba imati svoju izoliranu okolinu.
  • Koristite environment.yml za dijeljenje: Ovo je zlatni standard za osiguravanje reproducibilnosti. Uključite ga u svoj repozitorij Source koda.
  • Preferirajte conda install nad pip install: Kada god je to moguće, koristite conda install jer Conda bolje upravlja binarnim ovisnostima i rješava konflikte paketa na razini sustava, što je posebno važno za znanstvene pakete s C/Fortran ovisnostima. Koristite pip samo ako paket nije dostupan na Conda kanalima.
  • Istražite Jupyter Lab ekstenzije: Mnoge ekstenzije mogu poboljšati vašu produktivnost (npr. Git integracija, Table of Contents, Code Formatter).
  • Čistite neiskorištene okoline: Redovito pregledavajte i uklanjajte stare, neiskorištene Conda okoline kako biste oslobodili prostor na disku i održali čisto radno okruženje.

Usvajanjem ovih praksi, postavljate čvrste temelje za uspješnu i organiziranu karijeru u Data Scienceu. Sretno kodiranje i analiza podataka!

Izvori i dodatno čitanje

  1. Miniconda instalacija - službena dokumentacija
  2. Jupyter Lab službena web stranica
  3. Conda Cheat Sheet
  4. Upravljanje Jupyter kernelima
B
Uredništvo portala

BAJT

Službeni autorski profil redakcije portala BAJT. Sadržaj priprema i provjerava uredništvo portala.