Du tror .venv-mappa må være med i leveransen

Handler om: Utviklingsmiljø (IDE), Virtuelt miljø (venv)

Du tror at siden pakkene ligger i .venv, må hele den mappa være med når du leverer — ellers finner ikke læreren dem. Men .venv inneholder stier som peker inn i DIN maskin, og virker sjelden hos andre. Oppskriften som skal være med, er requirements.txt: navnet og versjonen på hver pakke, så mottakeren kan lage sitt eget miljø. Det som derimot MÅ være med, er filene du selv importerer — hjelpefiler og datasett.

Eksempel

Du zipper hele prosjektmappa inkludert .venv (300 MB). Læreren pakker ut, trykker kjør, og får «No module named pygame» likevel — fordi .venv-en peker på en Python som bare finnes på din maskin.

Slik tenker du riktig om det

Tenk på requirements.txt som en handleliste og .venv som handleposen. Du sender lista, ikke posen — mottakeren handler selv, i sin egen butikk. Filene du har skrevet eller fått utdelt (hjelpefiler, datasett) er derimot ikke i butikken noe sted, så dem må du legge ved.

Slik ser det ut i kode

Slik gikk det galt

it2-prosjekt.zip
  spill.py
  .venv/            # 300 MB, stier laast til DIN maskin
                    # (rutenett.py og elever.csv glemt)

Slik fikser du det

it2-prosjekt.zip
  spill.py
  rutenett.py       # hjelpefila du importerer
  elever.csv        # datasettet koden leser
  requirements.txt  # pygame-ce==2.5.8

Les om dette i boka

↓↑ naviger Enter åpne ShiftEnter ny fane Esc lukk
Velg tema
Skala