Moduły i środowiska wirtualne w Python

Python umożliwia organizowanie kodu w moduły i pakiety, a także korzystanie ze środowisk wirtualnych, aby zarządzać zależnościami i wersjami bibliotek.


1. Moduły w Python

1.1. Co to jest moduł?

  • Moduł to plik .py zawierający kod Pythona (funkcje, klasy, zmienne), który można wielokrotnie używać w innych skryptach.

1.2. Importowanie modułów

  • Można używać aliasów dla modułów:

1.3. Importowanie konkretnych elementów

  • Można importować wiele elementów naraz:
  • Importowanie wszystkiego (*) – niezalecane w dużych projektach:

2. Pakiety

  • Pakiet to folder zawierający moduły oraz plik __init__.py (może być pusty).
  • Struktura pakietu:
moj_pakiet/
    __init__.py
    modul1.py
    modul2.py
  • Importowanie z pakietu:

3. Moduły wbudowane w Python

Python posiada wiele modułów standardowych:

Moduł Funkcja
os operacje na plikach i systemie
sys parametry interpretera, ścieżki
math funkcje matematyczne
random losowe wartości
datetime daty i czasy
json obsługa JSON

Przykład:


4. Instalowanie zewnętrznych modułów

  • Python posiada menedżera pakietów pip:
  • Przykład instalacji i użycia:

5. Środowiska wirtualne

5.1. Co to jest środowisko wirtualne?

  • Oddzielne środowisko Pythona z własnymi pakietami i wersjami bibliotek.
  • Umożliwia pracę nad wieloma projektami bez konfliktów wersji.

5.2. Tworzenie środowiska wirtualnego

  • Tworzy folder nazwa_srodowiska z kopią interpretera Pythona.

5.3. Aktywacja środowiska

  • Windows:
  • Mac/Linux:
  • Po aktywacji w konsoli zobaczysz prefiks z nazwą środowiska:
(nazwa_srodowiska) $

5.4. Dezaktywacja środowiska


6. Zarządzanie pakietami w środowisku wirtualnym

6.1. Instalacja pakietów

6.2. Sprawdzenie zainstalowanych pakietów

6.3. Eksportowanie zależności do pliku

  • Plik requirements.txt służy do przenoszenia zależności projektu.

6.4. Instalacja pakietów z pliku


7. Dobre praktyki przy pracy z modułami i środowiskami

  • Każdy projekt używa osobnego środowiska wirtualnego.
  • Pakiety instaluj tylko w aktywnym środowisku.
  • Używaj requirements.txt do śledzenia zależności.
  • Dziel kod na moduły i pakiety dla lepszej organizacji.
  • Importuj tylko potrzebne elementy modułu.

8. Przykładowa struktura projektu Pythona

projekt/
    venv/                # środowisko wirtualne
    main.py              # główny skrypt
    utils/               # pakiet pomocniczy
        __init__.py
        funkcje.py
    requirements.txt     # lista zależności
  • W main.py można importować moduły z pakietu utils: