Jak vytvářet balíčky Python [2023]

Python je třetí nejpoužívanější programovací jazyk založený na průzkumu Stackoverflow z roku 2023. Tento obecný účel lze použít ve vědě o datech, vývoji webu, strojovém učení, softwarovém inženýrství a vědeckých počítačích.

Balíček Python je jedním z termínů, se kterými se setkáte, když se učíte jazyk Python a pracujete s ním. Co jsou balíčky Pythonu a jak je můžete vytvořit?

Tento článek bude;

  • Definujte balíčky Pythonu
  • Vysvětlete důležitost balíčků Pythonu v programování
  • Ukažte, jak vytvářet balíčky Python
  • Ukažte, jak používat a testovat balíčky Pythonu
  • Ukažte, jak nahrát balíčky Python

Co jsou balíčky Python?

Balíčky Pythonu jsou základní stavební kameny v programování. Bez balíčků by vývojáři mohli psát vše od začátku, takže programování by byl dlouhý a stresující proces. Balíčky Pythonu jsou kolekce modulů Pythonu, v podstatě kolekce opakovaně použitelného kódu.

Modul v Pythonu je soubor obsahující kód Pythonu, který lze importovat do jiných programů Pythonu. Chcete-li vytvořit balíček Python, musíte kód uložit do adresáře, který obsahuje soubor __init__.py.

Balíček Pythonu může obsahovat další balíčky (vnoření) a tisíce balíčků Pythonu jsou k dispozici online. Některé z těchto balíčků jsou oficiální, jiné nikoli. Většina balíčků Pythonu je k dispozici na https://pypi.org/.

Django, webový rámec Pythonu, je příkladem balíčku, který můžete použít k vytváření webových aplikací. Scikit-learn, PyTorch a TensorFlow jsou oblíbené balíčky v oblasti strojového učení.

Význam Pythonových balíčků

Proč nevytvářet vše od nuly jako programátor? Potřebujeme balíčky Python? Toto jsou některé z důvodů, proč jsou balíčky Python důležité;

  • Šetří čas: Balíček Python vám poskytuje přístup k předem napsanému kódu, který řeší běžné problémy. Pythonovské balíčky můžete použít místo znovuobjevování kola, kdykoli budete chtít napsat Python skript.
  • Usnadňuje distribuci kódu: Spolupráce je v programování velmi běžná. Můžete vytvořit balíček Python, který mohou členové vašeho týmu vždy importovat při spolupráci na projektu.
  • Opětovná použitelnost kódu: Pokud existuje blok kódu, který musíte vždy zapsat do svých programů Python, můžete jej zabalit a importovat do svých aplikací.
  • Organizace kódu: Balíčky Pythonu umožňují organizovat kód do logických modulů. Takový přístup usnadňuje čtení a údržbu kódu Pythonu.
  Věděl jsi? Amazon má obrovský trh s použitými produkty

Jak vytvořit svůj první balíček Python

Již jsme uvedli, že Python je univerzální jazyk. Jako programátor můžete vytvářet různé typy balíčků.

Můžete mít například balíček, který automatizuje určité úkoly, balíček, který vám pomůže s rozpočtem, nebo se dokonce naučíte nový jazyk. Než však začnete vytvářet svůj první balíček, potřebujete následující;

Předpoklady;

  • Python je nainstalován na vašem místním počítači. Pokud používáte Linux, Python je standardně nainstalován s vaším OS. Tento příkaz python –version nebo python3 –version můžete použít ke kontrole, zda je Python nainstalován. Pokud je nainstalován Python, uvidíte na svém terminálu něco takového;

Pokud Python nemáte, můžete si jej stáhnout na https://www.python.org/downloads/.

  • Pochopení Pythonu. Musíte pochopit, jak psát třídy, moduly a funkce Pythonu.
  • Správce balíčků. Pro tuto demonstraci použijeme pip. Pomocí tohoto příkazu můžete zkontrolovat, zda je pip nainstalován;
pip --version

Pokud je nainstalováno, uvidíte na svém terminálu něco podobného.

Požadavky se mohou lišit v závislosti na povaze balíčku, který chcete nainstalovat.

Pro tuto ukázku vytvořím jednoduchý balíček Python, který kontroluje, zda je číslo prvočíslo. Můžete následovat;

  • Krok 1: Vytvořte složku projektu. Budu jmenovat ten můj jako Primechecker.
  • Krok 2: Vytvořte další složku ve složce primechecker a pojmenujte ji prime.
  • Krok 3: Vytvořte soubor v adresáři, který jste vytvořili v kroku 2, a pojmenujte jej prime.py. Pomocí tohoto příkazu můžete zkombinovat tyto tři kroky;
 mkdir primechecker && cd primechecker && mkdir prime && cd prime && touch prime.py
  • Krok tři: Otevřete projekt v editoru kódu. Tento kód pak můžete přidat do souboru prime.py, který zkontroluje, zda je číslo prvočíslo;
def is_prime(number):

    if number < 2:

        return False

    for i in range(2, int(number ** 0.5) + 1):

        if number % i == 0:

            return False

    return True
  • Krok 4: Uvnitř primární složky vytvořte nový soubor a pojmenujte jej __init__.py. Tento soubor umožňuje Pythonu rozpoznat složku projektu, kterou jsme vytvořili, jako balíček.

Můžete použít tento příkaz;

touch prime/__init__.py
  • Krok 5: Otestujte svůj kód. Můžeme vytvořit skript v souboru test.py v kořenové složce, který kontroluje, zda je číslo prvočíslo. Přejděte zpět do hlavní složky a použijte tento příkaz;
touch test.py

Tento kód pak můžete přidat do tohoto souboru;

from prime.prime import is_prime

number = int(input("Enter a number: "))

result = is_prime(number)

print(f"{number} is prime: {result}")

Spusťte tento příkaz pro kontrolu kódu;

python3 test.py

Nyní můžete zadat číslo a zkontrolovat, zda je prvočíslo.

  Capsa je komplexní nástroj pro analýzu sítě pro LAN a WLAN

Například jsem zkontroloval, zda jsou 5 a 1 prvočísla, a dostal jsem následující;

Jak nahrát balíček online

Balíček, který jste vytvořili, můžete hostit na PyPI (Python Package Index). Jedná se o centrální úložiště, které nese tisíce balíčků Pythonu. Přejděte na https://pypi.org/ a vytvořte si účet, pokud jej nemáte.

Nyní můžete podle těchto kroků nahrát svůj balíček online;

  • Krok 1: Vytvořte nový soubor v kořenové složce (můj je primechecker) a pojmenujte jej setup.py.
  • Krok 2: Změňte obsah souboru setup.py tak, aby obsahoval informace o balíčku, který chcete nahrát.

Kód pro tento soubor by měl být následující;

from setuptools import setup, find_packages

setup(

    name="primechecker",

    version='1.0.0',

    author="Your Name",

    author_email="[email protected]",

    description='A package for checking prime numbers',

    packages=find_packages(),

)

Změňte název, autora, e-mail autora a popis tak, aby vyhovovaly podrobnostem vašeho balíčku.

  • Krok 3: Sestavte svůj balíček. Spusťte tento příkaz, zatímco jste stále v kořenové složce;
python3 setup.py sdist bdist_wheel

Pokud zkontrolujete složku projektu, uvidíte v kořenové složce dvě nové složky (build a dist).

  • Krok 4: Nainstalujte provázek. Toto je balíček potřebný k nahrání balíčků do PyPI.

Použijte tento příkaz;

pip install twine
  • Krok 5: Nahrajte balíček

Použijte tento příkaz;

twine upload dist/*

Budete vyzváni k zadání uživatelského jména a hesla. Pokud název vašeho balíčku ještě není obsazen, balíček bude zveřejněn online a na váš terminál se zobrazí odkaz.

Balíček, který jste právě zveřejnili, bude k dispozici veřejnosti. Každý, kdo chce balíček používat, si jej může stáhnout pomocí pip.

Například balíček, který jsem zveřejnil, lze stáhnout jako;

pip install primechecker==1.0.0.

Nejlepší postupy pro vytváření balíčků Python

  • Věnujte pozornost standardům balíčků Pythonu: I když se můžete svobodně rozhodnout, jaký typ balíčku vytvoříte, vždy pamatujte, že balíčky v Pythonu mají normy, které byste měli dodržovat. Než začnete psát kód, zkontrolujte tyto standardy na https://packaging.python.org/.
  • Otestujte svůj balíček před nasazením: Chyby jsou v programování běžné. Vytvářejte skripty pro generování automatických testů, zejména při sestavování velkých balíčků. Takový přístup zajišťuje, že nahrajete balíčky, které jsou bez chyb.
  • Verze: Správný balíček by měl následovat sémantické verzování. Balíček, který jsem vytvořil v naší ukázce, měl tato čísla 1.0.0. První bit (1) je hlavní verze, druhý bit (0) je vedlejší verze a poslední bit je Patch.
  • Zadejte všechny závislosti: V závislosti na vašich potřebách můžete mít v balíčku různé závislosti nebo jiné balíčky. Během nahrávání byste měli v popisu balíčku zmínit všechny závislosti. K přidání a správě těchto závislostí můžete použít nástroje jako setuptools nebo poezie.
  • Používejte správu verzí: Programování je nepřetržitý proces. Balíček můžete neustále upgradovat nebo vylepšovat, abyste přidali nové funkce nebo jej zefektivnili. Můžete také pozvat přispěvatele. Kód balíčku můžete nahrát na platformy jako GitHub nebo GitLab, abyste svůj kód zpřístupnili a umožnili spolupráci.
  • Zdokumentujte svůj kód: Balíček, který jsme vytvořili, byl pro demonstrační účely. Pokud však máte v úmyslu sdílet takový balíček s veřejností nebo členy týmu, musíte vygenerovat dokumentaci, která uživatele povede. Ke generování dokumentů můžete použít nástroje jako Pydoc nebo Sphinx.
  Jak řešit problémy se snímačem srdečního tepu na Apple Watch

Kde jinde mohu nahrát balíčky Python?

I když je Python Package Index (PyPI) oficiálním úložištěm balíčků Python, neznamená to, že máte omezení v jeho používání. Některé faktory, které je třeba vzít v úvahu při určování, kam nahrát balíček Python, jsou velikost souborů, povaha balíčku, úroveň potřebné podpory a vaše cílové publikum.

Toto jsou další oblasti, kam můžete nahrát své balíčky Python;

  • GitHub: GitHub je největší platforma pro hostování kódu. Můžete vytvořit úložiště a přidat svůj balíček Python jako soubor zip pro redistribuci.
  • Conda: Conda je správce balíčků, který můžete použít pro své balíčky Python. Tato platforma je známá mezi datovými vědci. Vytvořte si účet na Conda a začněte nahrávat své balíčky k redistribuci.
  • PyPI Mirrors: Existuje mnoho PyPI Mirrors, které zrcadlí obsah platformy PyPI. Vyberte si ten, který vyhovuje vašim potřebám pro hostování vašeho balíčku.

Závěr

Nyní máte kroky k vytvoření balíčků Python a jejich publikování online. Náš příklad byl jen základní, ale můžete si hrát a vytvářet složité balíčky. Při sestavování balíčků Pythonu však vždy vytvořte správnou strukturu složek.