Hoppa till innehållet
AI-grafen
D· AI-utvecklareprogrammering· ca 45 min· grundläggande — ändras sällan· verifierad 2026-09-20

Python — moduler, paket och virtuella miljöer

Kunna organisera kod i moduler, installera paket och isolera miljöer med venv.

Förkunskaper

Intuition

En modul är en .py-fil. Ett paket är en katalog med moduler. Så snart ett program är mer än ett par hundra rader ska det delas upp.

projekt/
├── src/minapp/
│   ├── __init__.py
│   ├── data.py          # inläsning och rensning
│   ├── model.py         # träning och förutsägelse
│   └── cli.py           # kommandoradsgränssnitt
├── tests/
├── requirements.txt
└── README.md

from minapp.data import las_csv — importen speglar katalogstrukturen.

Regel: en modul ska ha ett tydligt ansvar och kunna importeras utan sidoeffekter. Kod som ska köras läggs under if __name__ == "__main__":.

Kod

# Virtuell miljö: ett isolerat Python per projekt
python3 -m venv .venv
source .venv/bin/activate          # Windows: .venv\Scripts\activate
pip install numpy pandas scikit-learn
pip freeze > requirements.txt      # låser exakta versioner
deactivate

# På en annan dator (eller i CI):
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt

Varför venv? Projekt A behöver numpy 1.26, projekt B behöver 2.1. Utan isolering går ett av dem sönder. Med venv har varje projekt sitt eget paketträd.

requirements.txt med exakta versioner (numpy==2.1.3) är skillnaden mellan «det funkade i somras» och «det funkar». Lägg alltid .venv/ i .gitignore — miljön återskapas ur filen, den ska inte ligga i git.

Behärskning innebär

  • Delar upp kod i moduler och importerar mellan dem
  • Skapar och använder en virtuell miljö
  • Låser beroenden i requirements

Logga in för att göra övningarna och bygga upp din behärskning.

Källor

Alla källor och licenser