Środowiska wirtualne Pythona: venv i izolacja zależności

Opanuj środowiska wirtualne Pythona. Dowiedz się, jak bezpiecznie tworzyć, aktywować i zarządzać zależnościami za pomocą venv i pip.

Spróbuj w Edytorze

Przegląd

Pracując nad wieloma projektami w języku Python, nieuchronnie napotkasz konflikty zależności. Projekt A może wymagaćDjangowersji 3.2, podczas gdy Projekt B wymagaDjangowersji 5.0. Jeśli zainstalujesz te pakiety globalnie, nadpiszą się one nawzajem, psując jedną z aplikacji. Środowiska wirtualne rozwiązują ten krytyczny problem, tworząc izolowane, specyficzne dla projektu katalogi zawierające własne instalacje binarne i biblioteczne języka Python.

Python zapewnia wbudowaną obsługę środowisk wirtualnych poprzez moduł `venv`. Kiedy tworzysz środowisko wirtualne, generowany jest nowy folder zawierający kopię interpretera Pythona wraz ze skryptami umożliwiającymi dostosowanie środowiska powłoki. Po aktywacji wszystkie pakiety instalowane za pomocą `pip` są kierowane bezpośrednio do tego izolowanego folderu, pozostawiając globalną instalację Pythona czystą i nienaruszoną przez biblioteki specyficzne dla projektu.

Zarządzanie środowiskami wirtualnymi obejmuje trzy podstawowe polecenia. Najpierw `python -m venv venv` tworzy katalog środowiska wirtualnego o nazwie `venv`. Następnie aktywujesz środowisko („source venv/bin/activate” w systemie macOS/Linux lub „venv\Scripts\activate” w systemie Windows). Na koniec zamrażasz swoje zależności za pomocą `pip freeze > require.txt`, tworząc listę, której inni programiści mogą używać do odtworzenia dokładnego środowiska. Zrozumienie środowisk wirtualnych jest niepodlegającą negocjacjom najlepszą praktyką nowoczesnej inżynierii Pythona.

Dane wyjściowe kodu i wykonania

Makieta demonstrująca polecenia służące do tworzenia, aktywowania i wyprowadzania wymagań pakietu.

venv_management.py
Spróbuj w Edytorze
# This script prints the commands used to configure a virtual environment
commands = [
    "python -m venv my_env       # Create environment",
    "source my_env/bin/activate  # Activate environment (Mac/Linux)",
    "pip install requests        # Install isolated package",
    "pip freeze > requirements.txt # Export dependency catalog"
]

print("--- Virtual Environment Lifecycle ---")
for index, cmd in enumerate(commands, 1):
    print(f"Step {index}: {cmd}")
Wyjście terminala
--- Virtual Environment Lifecycle ---
Step 1: python -m venv my_env       # Create environment
Step 2: source my_env/bin/activate  # Activate environment (Mac/Linux)
Step 3: pip install requests        # Install isolated package
Step 4: pip freeze > requirements.txt # Export dependency catalog

Wdrażanie krok po kroku

  • Izolowanie projektów obszaru roboczego, aby zapobiec nakładaniu się zależności
  • Konfigurowanie przewidywalnych środowisk dla kontenerów Docker
  • Wysyłaj powtarzalne bazy kodów z listami wymagań.txt

Często zadawane pytania

Jakie foldery powinienem gitignore w projekcie Python?

Zawsze powinieneś dodać katalog środowiska wirtualnego (zwykle „venv/” lub „.venv/”) do swojego pliku .gitignore. Nigdy nie sprawdzaj zależności bibliotek zewnętrznych w git.

Jak dezaktywować środowisko wirtualne?

Po prostu wpisz polecenie „dezaktywuj” w oknie terminala, a powłoka powróci do globalnego środowiska Python.

Powiązane tematy

Polecane zasoby Pythona

Poszerzaj swoją wiedzę dzięki powiązanym interaktywnym samouczkom, ściągawkom i porównaniom kodów.