Czym jest “Python egg”?

W świecie Pythona termin “egg” odnosi się do dystrybucji pakietu używanego przez niektóre narzędzia, takie jak setuptools, do publikowania i dystrybucji bibliotek Pythona. Python egg to specjalnie sformatowany archiwum zip, który zawiera skompilowane pliki .pyc oraz metadane, takie jak informacje o zależnościach, co umożliwia łatwą instalację pakietów. W tej lekcji przyjrzymy się, jak można stworzyć i wykorzystać Python egg, przytaczając przykład z komentarzami po polsku.

Przykład tworzenia i instalowania Python egg

Zakładając, że mamy prosty pakiet Pythona o nazwie przykladowy_pakiet, pokażemy, jak przekształcić go w egg i zainstalować. Najpierw jednak, przygotujmy strukturę naszego pakietu i plik setup.py, który jest niezbędny do stworzenia egg.

przykladowy_pakiet/
    __init__.py
    modul.py
setup.py

Plik modul.py może zawierać prosty kod, np. funkcję wypisującą tekst:

# modul.py
def powitanie():
    # Wyświetla wiadomość powitalną
    print("Witaj w przykladowym_pakiecie!")

Plik setup.py będzie wyglądał następująco:

# setup.py
from setuptools import setup, find_packages

setup(
    name='przykladowy_pakiet',
    version='0.1',
    packages=find_packages(),
    # Tutaj można dodać więcej metadanych
)

Aby stworzyć Python egg, użyjemy narzędzia setuptools. W terminalu, będąc w katalogu zawierającym setup.py, wykonamy poniższe polecenie:

python setup.py bdist_egg

To polecenie utworzy katalog dist, w którym znajdziemy nasz .egg plik, np. przykladowy_pakiet-0.1-py3.6.egg.

Instalacja Python egg

Instalacja stworzonego egg jest prosta i wymaga jedynie użycia narzędzia easy_install, które również jest częścią setuptools. Aby zainstalować nasz pakiet, użyjemy polecenia:

easy_install dist/przykladowy_pakiet-0.1-py3.6.egg

Powyższe polecenie zainstaluje pakiet w naszym środowisku Pythona, umożliwiając jego importowanie i używanie jak każdej innej biblioteki.

Podsumowanie

Python egg to format dystrybucji, który umożliwia łatwe pakowanie, dystrybucję i instalację bibliotek Pythona. Dzięki użyciu narzędzi takich jak setuptools, tworzenie i instalowanie pakietów staje się prostsze i bardziej intuicyjne. Chociaż w nowszych projektach częściej używa się koła (wheels) jako preferowanego formatu dystrybucji, wiedza o egg może być przydatna przy pracy ze starszymi pakietami lub w specyficznych przypadkach użycia.

Jeżeli chcesz przyśpieszyć swoją naukę tworzenia stron chciałbym polecić mój kurs Python od podstaw w którym nauczysz się tego języka od podstaw do zaawansowanych jego aspektów.

Scroll to Top