Skip to content

Oppsett av miljø

Python med uv

Vi oppfordrer brukere av Knast maskiner å bruke uv for oppsett av virtuelle python miljøer og installasjon av pakker. Under følger en oppskrift for å sette opp et slikt virtuelt miljø for å kunne kjøre python kode i en isolert kontekst. For mer informasjon om uv, se deres dokumentasjon.

Opprettelse et nytt virtuelt miljø med spesifisert python versjon

Merk for å installere en annen python versjon kan det være at du må tillate utgående trafikk for å hente ressursene du trenger. Denne allowlistingen gjør du selv for Knast maskinen din i datamarkedsplassen under Åpninger mot internett fanen. Hvis det ikke kommer tydelig frem av feilmeldingen hvilke hoster du ikke når vil du i denne fanen også kunne se alle blokkerte nettverkskall gjort fra maskinen din mot internett.

# Setter opp et nytt venv og installerer python 3.11
uv venv --python 3.11 myvenv

# Aktiverer det virtuelle miljøet i gjeldende shell
source myvenv/bin/activate

Låsing og installasjon av avhengigheter i virtuelt miljø

Tar her utgangspunkt i at bruker har en requirements fil som heter requirements.in som inneholder en liste over avhengighetene det er behov for.

# Låser avhengigheter og lagrer i requirements.txt
uv pip compile requirements.in -o requirements.txt

# Installerer avhengigheter fra requirements.txt
uv pip sync requirements.txt

Bruke det virtuelle miljøet i en notebook-kontekst

For å bruke det virtuelle miljøet for notebooken konteksten din velger du Select another kernel -> Python environments -> myvenv.

Hvis ikke det virtuelle miljøet dukker opp i listen over kan du legge til det manuelt ved å kjøre følgende kommando:

ipython kernel install --name myvenv --user

Vedlikehold av Python-pakker og versjoner

Man bør regelmessig kjøre uv pip list --outdated for å se hva slags pakker man trenger å oppgradere. Enda bedre er å ha en requirements.txt (eller tilsvarende for Poetry eller lignende verktøy) sjekket inn i Github, og la Dependabot gjøre jobben. Husk også å følge med på nye Python-versjoner! Det finnes en god oversikt hos Python developers guide. Per dags dato bør ingen være på noe lavere enn 3.9, og man bør jobbe med å komme seg vekk fra 3.9 da den har EOL (end of life) oktober 2025.

Autentisering mot GitHub

Før du kan klone, pushe eller på annen måte samhandle med private repos på GitHub, må du autentisere deg. Dette gjør du ved å konfigurere Git med ditt navn og e-postadresse, og deretter bruke en av de tilgjengelige metodene for autentisering.

Kjør følgende i terminalen for å sette opp ditt navn og e-postadresse globalt for Git:

git config --global user.name "Ditt Navn"
git config --global user.email "din.email@nav.com"

Det finnes flere måter å autentisere seg mot GitHub på.

gh CLI

Dette verktøyet er forhåndsinstallert på Knast. For å autentisere deg, åpne en terminal og kjør gh auth login. Følg deretter instruksjonene som vises.

Innebygd autentisering i VS Code

Når du forsøker å klone et privat repo via terminalen med git clone, eller bruker kommandoen Ctrl+Shift+P og velger "Git: Clone", vil du få opp en dialog for innlogging til GitHub. Følg denne. Denne dialogen vises ikke når du kloner et offentlig repo, men dersom du prøver å pushe til et repo uten å være innlogget, vil dialogen dukke opp slik at du kan autentisere deg.

GitHub Copilot

GitHub Copilot er ikke tilgjengelig, og skal ikke brukes på Knast.

Fordi vi ikke har god nok kontroll på hvilke data som sendes til GitHub Copilot, så har vi valgt å sperre for GitHub Copilot i de globale brannmurreglene for Knast.