Python logo

Programmering med Python

Focus mode
Light/dark-mode

Utvecklingsmiljö och verktyg

1. Utvecklingsmiljöer#

Det finns tre huvudsakliga sätt att programmera Python:

  1. Online med enklare webbtjänster
  2. Offline på traditionell PC
  3. Online med mer avancerade tjänster

1.1 Online med enklare webbtjänster#

Det här är det enklaste sättet att komma igång med Python. Det finns många olika webbtjänster där man kan koda Python utan att behöva skapa ett konto eller installera något. Några exempel:

1.2 Offline på traditionell PC (Windows, Mac och Linux)#

Det traditionella sättet att programmera Python är att installera Python på sin dator och sedan skriva koden i en kodredigerare (eng. editor).

På Linux och Mac finns redan en version av Python installerad. För Windows-användare kan man installera Python från https://www.python.org/downloads/

Visual Studio Code är en kraftfull och popular kodredigerare från Microsoft. Den kan laddas ner på https://code.visualstudio.com/download. Python-filerna sparas lokalt på datorn. (Se till att de har filändelsen .py)

För att köra sitt program skriver man: python filnamn.py (eller python3 filnamn.py) i terminalen (antingen den inbyggda i VSCode eller operativsystemets terminal).

1.3 Online med mer avancerade tjänster#

Om man vill arbeta online med en mer professionell utvecklingsmiljö finns det flera lösningar. I de flesta lösningar får man en virtuell maskin där man kan installera valfri programvara. Dessa tjänster är i regel kommersiella men har ofta en begränsad gratisnivå. Exempel på tjänster är:

2. Git, GitHub och GitHub Codespaces#

2.1 Vad är git?#

Git är ett versionshanteringssystem som används för att spara och hålla ordning på förändringar i kod. Det gör det möjligt att se tidigare versioner, jämföra ändringar och samarbeta med andra utan att skriva över varandras arbete. Git används ofta tillsammans med plattformar som GitHub eller GitLab för att dela och samarbeta kring kod online.

2.2 GitHub Codespaces#

GitHub Codespaces är en molnbaserad utvecklingsmiljö – du programmerar direkt i webbläsaren (eller i VS Code) och har Git och GitHub integrerat. Du får tillgång till en virtuell maskin (med operativsystemet Linux/Ubuntu som standard) och du kan börja jobba med versionshanterad kod i webbläsaren utan att installera något.

Github Codespaces ger dig 120 timmar kostnadsfri användning i månaden. (Ca 4 timmar om dagen). En Codespace stänger av automatiskt efter 30 minuters inaktivitet, men för att spara tid kan man manuellt stänga av sin Codespace. Det gör man genom GitHubs huvudmeny uppe till höger → Codespaces (direktlänk: https://github.com/codespaces) och sedan trycka på de tre prickarna vid sin Codespace och välja Stop Codespace.

2.3 Kom igång med GitHub och Codespaces#

2.4 1. Skapa ett GitHub-konto#

Gå in på https://github.com och skapa ett nytt konto. Använd gärna din edu-adress.

2.5 2. Skapa ett nytt GitHub-repo#

Ett repo (kort för repository) är i GitHub en plats där all din kod och dess historik sparas. Det är alltså både en mapp med filer och en logg över alla ändringar som har gjorts i dessa filer.

  1. Klicka på + knappen uppe till höger (Create new) och välj New Repository. (Eller gå direkt till github.com/new)
  2. Ge projektet ett namn (t.ex. python-projekt eller test-repo) (och eventuellt en kort beskrivning).
  3. Klicka på Create repository

2.6 3. Öppna i Codespaces#

När ditt repo är skapat:

  1. Klicka på den gröna knappen <>Code

  2. Välj fliken Codespaces

  3. Klicka på “Create codespace on main

Detta startar upp en virtuell maskin och öppnar en VS Code-liknande miljö i webbläsaren – med Git och Python installerat.

2.7 4. Spara och versionshantera med Git#

När du ändrar filer i Codespaces kan du använda Git direkt i den inbyggda terminalen eller via det grafiska gränssnittet i VS Code.

2.8 Alternativ 1: Via terminal#

2.9 Se vilka filer som ändrats:#

git status

2.10 Lägg till filerna du vill spara:#

git add .

2.11 Skapa en commit (en sparad version):#

git commit -m "Lade till min första Python-fil"

2.12 Skicka ändringarna till GitHub:#

git push

2.13 Alternativ 2: Via VS Code-gränssnittet#

  1. Klicka på Source Control-ikonen (med gren-symbol) i vänstermenyn. Du ser en lista med ändrade filer.
  2. Klicka på + för att lägga till (stage) filerna.
  3. Skriv ett commit-meddelande överst, t.ex. “Lade till main.py”.
  4. Klicka på Commit (eller Ctrl+Enter).
  5. Klicka på Sync Changes för att pusha (skicka ändringarna) till GitHub.

2.14 Avancerat: arbeta i grenar (branches)#

Om man vill testa något nytt utan att påverka själva "huvudgrenen" av koden kan man skapa en sidogren - en branch.

2.15 Skapa en ny branch med terminalen#

git checkout -b ny-funktion

Du är nu i en ny gren. Gör dina ändringar, committa, och skicka upp till GitHub:

2.16 Skicka en ny branch till GitHub#

git push --set-upstream origin ny-funktion

2.17 Med VS Code-gränssnittet:#

  1. Klicka på branch-namnet längst ner i statusfältet (oftast “main”).

  2. Skriv in ett nytt namn för din gren, t.ex. ny-funktion.

  3. Tryck Enter – Codespaces byter automatiskt gren.

När du är klar kan du gå till GitHub-sidan för projektet och skapa en Pull Request för att slå ihop din gren med main.

2.18 Hämta uppdateringar#

Om någon annan ändrat något i projektet:

git pull

eller klicka på Sync Changes igen.

2.19 Vanligt arbetsflöde i Codespaces#

Steg Vad du gör Kommando / Knapp
1. Gör ändringar i filer
2. Kolla status git status
3. Lägg till filer git add . eller “+” i Source Control
4. Skriv commit-meddelande git commit -m "Beskriv ändringen"
5. Skicka till GitHub git push eller “Sync Changes”
6. Hämta ny kod git pull eller “Sync Changes”
7. Testa idéer i ny gren git checkout -b gren-namn

3. Linux och terminalen#

De flesta servrar kör operativsystemet Linux (där den populäraste varianten är Ubuntu). Servrarna har oftast inte grafiska gränssnitt utan man interagerar med systemet med hjälp av textkommandon. Textgränssnittet benämns med flera olika namn: terminal, kommandotolk eller konsolen (och även shell eller bash).

3.1 Vanliga kommandon#

3.2 För att navigera bland filer#

Kommando Beskrivning
ls Visa filer och mappar i aktuell mapp
ls -l Visa detaljerad lista över filer och mappar
ls -lR Visa alla filer och mappar i underliggande mappar
cd mapp Gå in i undermapp
cd .. Gå upp ur mappen (upp ett steg)
cd Gå till hemkatalog
cd / Går till rotkatalogen
pwd Skriver ut sökvägen till den aktuella mappen
clear Rensar skärmen
man kommando Visar manualsidorna för ett kommando/program
exit Loggar ut

3.3 Git - versionshantering#

Kommando Beskrivning
git status Visar vilka filer som har ändrats
git add . Lägg till alla ändrade filer till stage-area
git commit -m 'Meddelande' Skapar en sparpunkt. Meddelandet bör beskriva vad man gjort
git push Skicka ändringar till ens repository
git pull Hämta eventuella uppdateringar från ens repository

3.4 För att skapa/redigera filer/mappar#

Kommando Beskrivning
mkdir mappnamn Skapar en mapp (kallas för directory i Linux)
touch filnamn Skapar en tom textfil (eller uppdaterar tidsstämpel för en existerande fil eller mapp)
rm filnamn Raderar en fil
rmdir Raderar en (tom) mapp
rm -rf Raderar mappen och allt innehåll
chmod XXX fil Ändrar rättigheterna till filen/mappen – verktyg för att skapa kod
nano filnamn Öppnar textredigeraren nano
cat filnamn Skriver ut innehållet i en fil
chown användarnamn filnamn Ändrar ägaren till en fil

3.5 Textredigeraren nano#

Kommando Beskrivning
nano filnamn Öppnar filen i textredigeraren nano
ctrl+o Sparar fil
ctrl+x Stäng

3.6 ctrl-d, ctrl-z och ctrl-c#

Kommando Beskrivning
ctrl-d Avslutar input (t.ex. ett meddelande, mail, chatt etc)
ctrl-z Stoppar/pausar ett program/kommando tillfälligt
ctrl-c Avslutar ett program/kommando

3.7 Övriga kommandon#

Kommando Beskrivning
date Visar aktuellt datum och tid
groups Visar vilka grupper den man tillhör

4. Pakethantering och virtualenv#

5. IPython#

6. Unit testing (enhetstestning)#

7. Notebooks#