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.