
Sätt upp din utvecklingsmiljö i Ubuntu
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
pipfö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.piphä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):
pipkan 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.
- Skapa en ny mapp på valfri plats, t.ex.
mitt_projekt_2. - Navigera in i den och skapa en virtuell miljö.
- Aktivera miljön.
- Använd
pipför att installera paketetrequests(ett mycket vanligt bibliotek för att göra webbanrop). - Kör
pip freeze > requirements.txtför att skapa din beroendefil. - Öppna projektmappen i VS Code och titta på innehållet i din
requirements.txt. - 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.
