Tworzenie pakietu

Tworzenie pakietów w Pythonie

James Fulton

Climate informatics researcher

Po co tworzyć pakiet?

  • Aby ułatwić ponowne wykorzystanie kodu
  • Aby uniknąć kopiowania i wklejania
  • Aby utrzymywać funkcje w aktualnym stanie
  • Aby udostępniać kod innym
Tworzenie pakietów w Pythonie

Zawartość kursu

Zbudujesz kompletny pakiet, obejmując:

  • Strukturę plików
  • Strukturę importów
  • Instalację pakietu
  • Dodawanie licencji i plików README
  • Styl kodu i testy jednostkowe
  • Rejestrację i publikację pakietu w PyPI
  • Korzystanie z szablonów pakietów
Tworzenie pakietów w Pythonie

Skrypty, moduły i pakiety

  • Skrypt – plik Pythona uruchamiany jako python myscript.py

  • Pakiet – katalog z kodem Pythona przeznaczonym do importowania

    • np. numpy
  • Podpakiet – mniejszy pakiet wewnątrz pakietu

    • np. numpy.random i numpy.linalg
  • Moduł – plik Pythona wewnątrz pakietu przechowujący jego kod

    • np. przykład w kolejnych 2 slajdach
  • Biblioteka – pakiet lub zbiór pakietów

    • np. standardowa biblioteka Pythona (math, os, datetime,...)
Tworzenie pakietów w Pythonie

Drzewo katalogów pakietu

Drzewo katalogów prostego pakietu

mysimplepackage/
|-- simplemodule.py
|-- __init__.py
  • Ten katalog, mysimplepackage, jest pakietem Pythona
  • simplemodule.py zawiera cały kod pakietu
  • __init__.py oznacza katalog jako pakiet Pythona
Tworzenie pakietów w Pythonie

Zawartość prostego pakietu

__init__.py

Pusty plik

simplemodule.py
def cool_function():
    ...
    return cool_result

...

def another_cool_function():
    ...
    return another_cool_result

Plik z uogólnionymi funkcjami i kodem.

Tworzenie pakietów w Pythonie

Podpakiety

Drzewo katalogów pakietu z podpakietami

mysklearn/
|-- __init__.py
|-- preprocessing
|   |-- __init__.py
|   |-- normalize.py
|   |-- standardize.py
|-- regression
|   |-- __init__.py
|   |-- regression.py
|-- utils.py
Tworzenie pakietów w Pythonie

Czas na ćwiczenia!

Tworzenie pakietów w Pythonie

Preparing Video For Download...