Python Academy · Lektion

Hvorfor virtuelle miljøer er vigtige

Forstå afhængighedskonflikter, og hvorfor isolering er afgørende.

Lektion 1 af 414 trin

Hvorfor virtuelle miljøer er vigtige er en gratis Python Academy-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Python Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Python Academy-kurset indeholder 4 lektioner i alt.

Introduktion

Uden virtuelle miljøer installeres alle Python-pakker globalt, hvilket skaber versionskonflikter på tværs af projekter.

Problemet med global installation

Som standard installerer pip pakker i systemets Python. Projekt A kræver requests 2.25, mens projekt B kræver 2.28 — konflikt!
# Without venv:
# pip install requests==2.25  -> global
# pip install requests==2.28  -> overwrites 2.25!
print('global conflict demo')

Hvad er et virtuelt miljø?

Et venv er en isoleret Python-installation i en mappe. Hvert projekt får sine egne pakker, uafhængigt af andre projekter.
# venv creates:
# project/
#   .venv/
#     bin/python     (isolated Python)
#     lib/site-packages/  (project packages)
print('venv structure')

Genskabelighed

Med et venv og requirements.txt kan alle genskabe nøjagtigt det samme miljø: pip install -r requirements.txt
# pip freeze > requirements.txt
# # Later, on another machine:
# python -m venv .venv
# pip install -r requirements.txt
print('reproducible env')

Sikkerhedsisolering

Installation af pakker i et venv påvirker ikke systemets Python. Der kræves ingen sudo- eller administratorrettigheder. Der er ingen risiko for at ødelægge systemværktøjer.
# System Python is untouched:
# /usr/bin/python -> system packages
# .venv/bin/python -> project packages only
print('security isolation')

CI/CD og Docker

I CI/CD og containere skal du oprette et nyt venv for hver build for at sikre et rent og genskabeligt miljø.
# Dockerfile pattern:
# RUN python -m venv /opt/venv
# RUN /opt/venv/bin/pip install -r requirements.txt
print('ci/cd demo')

Ét venv pr. projekt

Brug ét venv pr. projekt, gemt i .venv/ i projektets rodmappe. Commit det aldrig til versionsstyring.
# Add to .gitignore:
# .venv/
# __pycache__/
print('gitignore tip')

Systemets, brugerens og venv's site-packages

Python leder efter pakker i denne rækkefølge: venv site-packages → user site → global site. venv har prioritet, når det er aktiveret.
import sys
print('\n'.join(p for p in sys.path if 'site' in p))

pyenv til håndtering af Python-versioner

pyenv håndterer flere Python-versioner (3.10, 3.11, 3.12). Kombinér det med venv for fuldstændig isolering.
# pyenv install 3.12.0
# pyenv local 3.12.0
# python -m venv .venv
print('pyenv demo')

conda som alternativ

conda (Anaconda/Miniconda) håndterer både pakker og Python-versioner. Det er populært inden for datalogi.
# conda create -n myenv python=3.11
# conda activate myenv
# conda install numpy pandas
print('conda demo')

Opsummering af bedste praksis

Arbejd altid i et venv. Brug requirements.txt eller pyproject.toml. Føj .venv/ til .gitignore. Brug ensartede Python-versioner.
import sys
print('Python:', sys.version)
print('venv:', sys.prefix != sys.base_prefix)

Hurtigt tjek

Hvilket hovedproblem løser virtuelle miljøer?

Opsummering

Virtuelle miljøer: isolering pr. projekt. Hvert venv har sine egne pakker. Brug requirements.txt for genskabelighed. Føj .venv/ til .gitignore.

Fortsæt

Bliv ved på den gode måde! Gå videre til den næste lektion.
Gratis at komme i gang

Lær Python med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
76
Lektioner
320

Ofte stillede spørgsmål

Er lektionen “Hvorfor virtuelle miljøer er vigtige” gratis?

Ja — hele teksten til “Hvorfor virtuelle miljøer er vigtige” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Python Academy-kurset, skal du opgradere til CoddyKit PRO. Python Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Hvorfor virtuelle miljøer er vigtige”?

Forstå afhængighedskonflikter, og hvorfor isolering er afgørende. Du øver dig i Python Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Python Academy?

Der kræves ingen tidligere erfaring. Python Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.

Hvor lang tid tager lektionen “Hvorfor virtuelle miljøer er vigtige”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Python Academy-lektion?

Ja. Alle Python Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Hvorfor virtuelle miljøer er vigtige
  2. Oprettelse og aktivering af venv
  3. Håndtering af afhængigheder med pip
  4. Moderne værktøjer: pipenv og uv
← Tilbage til Python Academy