Jestem nowy w Pythonie i próbuję zrozumieć, jak działają jego pakiety. Przypuszczalnie "jaja" są rodzajem mechanizmu pakowania, ale jaki byłby krótki przegląd roli, jaką odgrywają, a może niektóre informacje na temat tego, dlaczego są one użyteczne i jak je tworzyć?Co to jest jajko Python?
Odpowiedz
Uwaga: Egg packaging has been superseded by Wheel packaging.
samo pojęcie jako plik w Javie .jar
, to plik .zip
z niektórych plików metadanych przemianowany .egg
, za dystrybucję kodu jako wiązkach.
Specifically: The Internal Structure of Python Eggs
A "Python jajo" jest logiczną strukturę urzeczywistniającym wydanie konkretnej wersji projektu Python, zawierający jego kod, zasoby, i metadanych. Istnieje wiele formatów, których można użyć do fizycznego kodowania jaj w Pythonie, a inne można rozwijać. Jednak kluczową zasadą jaj w Pythonie jest , którą można importować. Oznacza to, że aplikacja Python powinna mieć możliwość łatwego i skutecznego sprawdzenia, jakie jaja są obecne w systemie, oraz , aby zapewnić możliwość importowania żądanej zawartości jajek.
sformatować
.egg
jest dobrze nadaje się do dystrybucji i łatwego deinstalacji lub aktualizacji kodu, ponieważ projekt jest zasadniczo samowystarczalny w jednym katalogu lub pliku, unmingled z kodem lub zasobów wszelkich innych projektach. Umożliwia to również jednoczesną instalację wielu wersji projektu, tak aby poszczególne programy mogły wybrać wersje, które chcą zastosować.
Plik .egg
jest formatem dystrybucji pakietów w języku Python. Jest to tylko alternatywa dla dystrybucji kodu źródłowego lub systemu Windows exe
. Należy jednak zauważyć, że dla czystego pliku Python
plik .egg
jest całkowicie wieloplatformowy.
Sam plik .egg
jest w istocie plikiem .zip
. Jeśli zmienisz rozszerzenie na "zip
", zobaczysz, że będzie zawierało foldery wewnątrz archiwum.
Ponadto, jeśli masz plik .egg
, można zainstalować go jako pakiet używając easy_install
Przykład: Aby utworzyć plik .egg
dla katalogu powiedzieć mymath
która sama może mieć kilka skryptów Python, wykonaj następujące czynności krok:
# setup.py
from setuptools import setup, find_packages
setup(
name = "mymath",
version = "0.1",
packages = find_packages()
)
Następnie z terminalu zrobić:
$ python setup.py bdist_egg
To będzie generować wiele wyjść, ale kiedy to zakończono zobaczysz, że masz trzy nowe foldery: kompilacji, gmina i mymath.egg-info. Jedynym folder dbamy o to dist folder, w którym znajdą Państwo plik .egg
, mymath-0.1-py3.5.egg
z domyślną python (instalacja) numer wersji (kopalnia tutaj: 3,5)
Źródło: Python library blog
"Jajko" to importowany format pojedynczego pliku dla projektów związanych z Pythonem.
"The Quick Guide to Python Eggs" zauważa, że „Jaja są do pyton jak słoiki mają Java ...”
Jaja faktycznie są bogatsze niż słoików; zawierają ciekawe metadane, takie jak szczegóły dotyczące licencji, zależności związane z wydaniami itd.