Jak utworzyć i aktywować wirtualne środowisko Pythona

Dowiedz się, jak tworzyć, aktywować i zarządzać środowiskiem wirtualnym Python za pomocą wbudowanego modułu venv. Utrzymuj zależności projektu w izolacji i czystości.

Wypróbuj to rozwiązanie w Edytorze

Przegląd

Podczas tworzenia aplikacji w języku Python często będziesz instalować pakiety innych firm za pomocą pip. Bez środowiska wirtualnego pakiety te są instalowane globalnie w środowisku Python systemu. Może to szybko prowadzić do konfliktów, jeśli różne projekty wymagają różnych wersji tej samej biblioteki (np. Projekt A wymagającyDjango3.2 i Projekt B wymagającyDjango5.0).

Środowisko wirtualne to izolowany katalog zawierający własny plik wykonywalny w języku Python i własny zestaw zainstalowanych pakietów. Tworząc środowisko wirtualne dla każdego ze swoich projektów, masz pewność, że instalacje pakietów nie kolidują z innymi projektami lub ogólnosystemową konfiguracją języka Python. Jest to podstawowa najlepsza praktyka programowania w języku Python.

We współczesnymPython 3standardowa biblioteka zawiera moduł `venv`, który obsługuje środowiska wirtualne bez konieczności stosowania zewnętrznych narzędzi. Cykl życia środowiska wirtualnego obejmuje utworzenie katalogu środowiska, aktywację go w aktywnej sesji terminala, zainstalowanie zależności i ostatecznie dezaktywację po zakończeniu.

Dane wyjściowe kodu i wykonania

Ta symulacja wyświetla polecenia terminala używane do tworzenia, aktywowania, instalowania pakietów i dezaktywacji środowiska wirtualnego w systemach macOS/Linux i Windows.

virtual_env.py
Spróbuj w Edytorze
commands_macos_linux = """
# 1. Create a virtual environment named 'venv'
$ python3 -m venv venv

# 2. Activate the virtual environment
$ source venv/bin/activate

# 3. Verify activation (will show the path to the virtual env's python)
(venv) $ which python

# 4. Deactivate when done
(venv) $ deactivate
"""

commands_windows = """
# 1. Create a virtual environment named 'venv'
> python -m venv venv

# 2. Activate the virtual environment in Command Prompt
> venv\Scripts\activate

# 3. Or activate in PowerShell
> .\venv\Scripts\Activate.ps1

# 4. Deactivate when done
(venv) > deactivate
"""

print("macOS & Linux terminal commands:")
print(commands_macos_linux.strip())
print("\nWindows terminal commands:")
print(commands_windows.strip())
Wyjście terminala
macOS & Linux terminal commands:
# 1. Create a virtual environment named 'venv'
$ python3 -m venv venv

# 2. Activate the virtual environment
$ source venv/bin/activate

# 3. Verify activation (will show the path to the virtual env's python)
(venv) $ which python

# 4. Deactivate when done
(venv) $ deactivate

Windows terminal commands:
# 1. Create a virtual environment named 'venv'
> python -m venv venv

# 2. Activate the virtual environment in Command Prompt
> venv\Scripts\activate

# 3. Or activate in PowerShell
> .\venv\Scripts\Activate.ps1

# 4. Deactivate when done
(venv) > deactivate

Wdrażanie krok po kroku

  • Uruchom python -m venv <env_name> w terminalu projektu, aby wygenerować pliki środowiska.
  • Aktywuj środowisko przy użyciu źródła <nazwa_env>/bin/activate (macOS/Linux) lub <nazwa_env>\Scripts\activate (Windows).
  • Zainstaluj wymagane pakiety za pomocą pip install, aby upewnić się, że są odizolowane od tego katalogu projektu.
  • Wpisz deactivate w powłoce terminala, aby po zakończeniu pracy wyjść ze środowiska wirtualnego.

Często zadawane pytania

Gdzie powinienem utworzyć folder środowiska wirtualnego?

Utwórz go bezpośrednio w katalogu głównym projektu. Unikaj przekazywania folderu środowiska wirtualnego (np. venv/) do Git, dodając go do pliku .gitignore.

Co właściwie daje aktywacja środowiska wirtualnego?

Aktywacja tymczasowo aktualizuje zmienną PATH powłoki, wskazując ją na folder bin lub Scripts środowiska wirtualnego, dzięki czemu uruchamiane są lokalne pliki wykonywalne Pythona i pip zamiast plików wykonywalnych dla całego systemu.

Powiązane tematy

Polecane zasoby Pythona

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