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.