Mac

Installering og bruk av Python på Mac

Mac OS X kommer med en Python-versjon ferdig installert. De fire første ukene greier du deg med denne installasjonen, men vi anbefaler likevel å installere Anaconda Python med en gang. Da har du full kontroll på hvilken Python-versjon du bruker, og de pakkene vi trenger senere i kurset blir automatisk installert.

I tillegg til Python trenger du en editor for å skrive programmene. Det finnes mange gode alternativer, men for høsten 2023 anbefaler vi editoren Visual Studio Code (VS Code). VS Code kan brukes både som en enkel editor for å redigere programmer, og som en såkalt IDE (Integrated Development Environment) hvor vi både skriver, kjører, og debugger programmene i samme verktøy. Du finner korte forklaringer av de to løsningene lenger ned.

Steg 1: Installer Anaconda Python og VS Code

Både Anaconda og VS Code er enkle å installere ved å laste ned programmene og følge instruksjonene. En kort guide for installasjon på mac finnes her.

Steg 2: Skriv og kjør et lite Python-program

Når du har installert Anaconda Python og VS Code bør du skrive og kjøre et lite Python-program, for å sjekke at alt virker og bli vant til arbeidsflyten. Programmet skrives i VS Code, og så kan det enten kjøres direkte fra VS Code eller fra et terminalvindu. Du finner en kort forklaring av begge alternativene under.

Alternativ 1: Skriv programmet i VS Code, kjør det fra kommandolinjen

Dette er løsningen som vil bli brukt på de fleste av forelesningene. Verktøyene og arbeidsflyten er nesten identisk med det som brukes på Linux-maskinene på terminalstuene, så overgangen mellom ulike maskiner blir veldig enkel. Du skriver programmene i VS Code og kjører dem fra terminalvinduet. En kort guide til hvordan man skriver og kjører et enkelt Python-program finnes her.

Alternativ 2: Skriv og kjør programmet fra VS Code

Mange vil nok synes denne løsningen er enklere enn den Alternativ 1, da alt skjer i samme program. Du skriver programmet i VS Code, og så kjører du det via et eget terminalvindu integrert i VS Code. En kort forklaring finnes her.

Alternativ 3: Spyder IDE

Vi bruker VS Code i forelesningene, men det finnes mange andre editorer og IDE'er som kan brukes. Et populært alternativ er Spyder, som følger med automatisk når du installerer Python med Anaconda. Som VS Code inneholder Spyder en editor og et terminalvindu for å kjøre programmene, samt en del andre verktøy for programmering og debugging. De to verktøyene er veldig like, og begge vil fungere fint i IN1900. Vi anbefaler VS Code fordi vi foretrekker det selv, og det gjør også de fleste erfarne programmerere og studenter vi har snakket med, men dette er mest personlige preferanser. Spyder er også et godt alternativ som brukes av mange. En kort guide til bruk av Spyder finnes her

Programmering med Jupyter Notebooks

Den klassiske måten å skrive Python-programmer på, og den vi primært bruker i IN1900, er å skrive programmet som en vanlig tekstfil og deretter kjøre det som forklart over. Det finnes imidlertid et alternativ, kalt Jupyter Notebooks, som har blitt veldig populært og derfor er verdt å kjenne til. Notebooks er dokumenter som kombinerer vanlig tekst med kjørbar kode, og brukes mye undervisning og forskning. Hvis du installerer Python med Anaconda får du automatisk installert Jupyter Notebook, og dette kan enkelt startes fra programmet Anaconda Navigator. Når programmet starter åpnes et browser-vindu hvor du kan navigere deg fram til kataloger hvor du har lagret Notebook-filer (.ipynb). Disse åpnes med vanlig dobbeltklikk, og du kan redigere og kjøre koden i browser-vinduet. Dette er for eksempel veldig greit å bruke til å gå gjennom forelesningsnotatene; last ned ipynb-filene til egen maskin, og kjør dem og rediger dem lokalt. Det finnes også en server på UiO hvor disse filene kan kjøres, men det er ofte vel så praktisk å laste ned og kjøre på egen maskin. Merk at denne løsningen fint kan brukes til egen programmering, men hvis du vil levere inn oppgaver for retting og tilbakemelding fra gruppelærer så må de leveres som vanlige .py-filer, ikke .ipynb.