Moment 2: Python-miljön - venv och pip

Lästid: ca 10 min

I det förra momentet satte vi upp vår grundläggande verktygslåda. Nu är det dags att använda den för att bygga vår första specifika utvecklingsmiljö, och vi börjar med ett av världens mest populära och mångsidiga språk: Python.

En av de största fallgroparna när man börjar med Python är att man installerar alla paket och bibliotek direkt i systemet. Detta kan snabbt leda till konflikter - tänk dig att ett projekt kräver version 1.0 av ett bibliotek, medan ett annat kräver version 2.0. Lösningen är virtuella miljöer. I detta moment lär du dig den professionella metoden för att hålla dina Python-projekt rena, isolerade och reproducerbara.


Vad du lär dig

Efter detta moment kommer du att kunna:

  • Förklara varför virtuella miljöer är avgörande för seriös Python-utveckling.
  • Skapa, aktivera och deaktivera en virtuell miljö med venv.
  • Använda pakethanteraren pip för att installera programbibliotek i en aktiv miljö.
  • Dokumentera ditt projekts beroenden i en requirements.txt-fil för enkel delning och ominstallation.

Grunderna: Håll ordning med virtuella miljöer

Föreställ dig att du ska bygga två olika LEGO-modeller. Den ena är en röd sportbil och den andra är ett blått rymdskepp. Istället för att ha alla legobitar, röda och blå, i en enda stor låda, är det mycket smartare att ha två separata lådor - en för varje modell.

En virtuell miljö är precis en sådan separat låda för ditt Python-projekt. Varje projekt får sin egen isolerade uppsättning av verktyg och bibliotek, helt oberoende av andra projekt.

  • venv: Är Python's inbyggda verktyg för att skapa dessa "lådor".
  • pip: Är verktyget du använder för att lägga nya "legobitar" (paket/bibliotek) i den låda du för tillfället arbetar med. pip hämtar paketen från Python Package Index (PyPI), ett gigantiskt, offentligt bibliotek av Python-kod.

Praktiska exempel: Skapa ditt första Python-projekt

Nu sätter vi ihop allt i praktiken. Öppna din terminal och följ med.

1. Skapa en projektmapp Först skapar vi en mapp för vårt projekt och navigerar in i den.

mkdir mitt_python_projekt
cd mitt_python_projekt

2. Skapa den virtuella miljön Nu skapar vi den virtuella miljön inuti vår projektmapp. Vi döper den till .venv. Punkten i början gör mappen dold, vilket är en vanlig konvention.

python3 -m venv .venv

3. Aktivera miljön För att "öppna vår legolåda" och börja arbeta i den, måste vi aktivera miljön.

source .venv/bin/activate

Du kommer omedelbart att se att din terminal-prompt ändras! Den får ett (.venv) i början, vilket är din visuella bekräftelse på att den virtuella miljön är aktiv.

4. Använd pip för att installera ett paket Låt oss installera ett roligt paket som heter cowsay.

pip install cowsay

5. Kör kod som använder paketet Nu kan vi köra Python-kod som använder vårt nyinstallerade paket.

python -c "import cowsay; cowsay.cow('Hej från min virtuella miljö!')"

Du borde nu se en ASCII-ko som säger hej. Detta bevisar att paketet är installerat och fungerar inuti vår miljö.

6. Deaktivera miljön När du är klar med ditt arbete i projektet, "stänger du legolådan" genom att deaktivera miljön.

deactivate

Prompten återgår till det normala. Om du nu försöker köra cowsay-kommandot igen, kommer du få ett felmeddelande, eftersom paketet bara existerar inuti den virtuella miljön. Detta bevisar att isoleringen fungerar!


Dokumentera dina beroenden: requirements.txt

När du vill dela ditt projekt med en kollega eller elev, behöver de ett enkelt sätt att installera exakt samma paket som du har använt. Detta görs med en fil som standardmässigt kallas requirements.txt.

  • Skapa filen (med miljön aktiv): pip kan automatiskt skapa en lista över alla installerade paket.
    pip freeze > requirements.txt
    
  • Installera från filen (i en ny miljö): En annan person kan nu skapa sin egen virtuella miljö, aktivera den, och sedan köra detta kommando för att installera allt som behövs:
    pip install -r requirements.txt
    

Detta är grunden för reproducerbar och delbar Python-kod.


Övning: Ditt eget bibliotek

Nu är det din tur att gå igenom hela arbetsflödet.

  1. Skapa en ny mapp på valfri plats, t.ex. mitt_projekt_2.
  2. Navigera in i den och skapa en virtuell miljö.
  3. Aktivera miljön.
  4. Använd pip för att installera paketet requests (ett mycket vanligt bibliotek för att göra webbanrop).
  5. Kör pip freeze > requirements.txt för att skapa din beroendefil.
  6. Öppna projektmappen i VS Code och titta på innehållet i din requirements.txt.
  7. Deaktivera slutligen miljön.

Nästa steg

Utmärkt! Du kan nu skapa rena och professionella miljöer för dina Python-projekt. Men vad händer när du börjar skriva kod och vill spara dina framsteg på ett säkert sätt? I nästa moment, Versionshantering med Git och GitHub, tar vi ditt nya projekt och lär oss hur man spårar ändringar och delar med sig av sin kod till andra.