Hogyan készítsünk Python-csomagokat [2023]

A Python a harmadik leggyakrabban használt programozási nyelv egy 2023-as Stackoverflow felmérés alapján. Ez az általános cél felhasználható az adattudományban, a webfejlesztésben, a gépi tanulásban, a szoftverfejlesztésben és a tudományos számítástechnikában.

A Python-csomag az egyik olyan kifejezés, amellyel a Python nyelv tanulása és interakciója során találkozni fog. Mik azok a Python-csomagok, és hogyan hozhat létre néhányat?

Ez a cikk;

  • Határozza meg a Python-csomagokat
  • Magyarázza el a Python-csomagok fontosságát a programozásban
  • Mutassa be a Python-csomagok létrehozásának módját
  • Mutassa be a Python-csomagok használatát és tesztelését
  • Mutassa be, hogyan tölthet fel Python-csomagokat

Mik azok a Python-csomagok?

A Python-csomagok alapvető építőkövei a programozásnak. Csomagok nélkül a fejlesztők mindent a nulláról írhatnak, így a programozás hosszú és stresszes folyamat lesz. A Python-csomagok Python-modulok gyűjteményei, alapvetően újrafelhasználható kódok gyűjteményei.

A Python modulja egy Python-kódot tartalmazó fájl, amely más Python-programokba importálható. Python-csomag létrehozásához a kódot egy __init__.py fájlt tartalmazó könyvtárban kell tárolnia.

Egy Python-csomag más csomagokat is tartalmazhat (beágyazás), és Python-csomagok ezrei érhetők el online. Ezen csomagok egy része hivatalos, míg mások nem. A Python-csomagok többsége elérhető a https://pypi.org/ oldalon.

A Django, egy Python webes keretrendszer, egy példa arra a csomagra, amellyel webalkalmazásokat készíthet. A Scikit-learn, a PyTorch és a TensorFlow népszerű csomagok a gépi tanulás területén.

A Python-csomagok jelentősége

Miért ne hozna létre mindent a semmiből programozóként? Szükségünk van Python csomagokra? Ez néhány ok, amiért a Python-csomagok fontosak;

  • Időt takarít meg: A Python csomag hozzáférést biztosít az előre megírt kódhoz, amely megoldja a gyakori problémákat. A kerék újrafeltalálása helyett használhat Python-csomagokat, amikor Python-szkriptet szeretne írni.
  • Megkönnyíti a kód terjesztését: Az együttműködés nagyon gyakori a programozásban. Létrehozhat egy Python-csomagot, amelyet a csapattagok mindig importálhatnak, amikor együttműködnek egy projekten.
  • Kód újrafelhasználhatósága: Ha van egy kódblokk, amelyet mindig be kell írnia a Python-programokba, csomagolhatja, és importálhatja az alkalmazásaiba.
  • Kódszervezés: A Python-csomagok lehetővé teszik a kód logikai modulokba rendezését. Ez a megközelítés megkönnyíti a Python-kód olvasását és karbantartását.
  Fájlok elrejtése a Google Biztonságos mappájával Androidon

Hogyan készítsd el az első Python-csomagodat

Már kijelentettük, hogy a Python egy általános célú nyelv. Programozóként különféle típusú csomagokat hozhat létre.

Például rendelkezhet egy csomaggal, amely bizonyos feladatokat automatizál, egy csomagot, amely segít a költségvetésben, vagy akár egy új nyelv megtanulásában. Mielőtt azonban elkezdené az első csomag létrehozását, a következőkre van szüksége;

Előfeltételek;

  • A Python telepítve van a helyi gépen. Ha Linuxot használ, a Python alapértelmezés szerint telepítve van az operációs rendszerével. A python –version vagy python3 –version paranccsal ellenőrizheti, hogy a Python telepítve van-e. Ha a Python telepítve van, valami ilyesmit fog látni a terminálján;

Ha nem rendelkezik Pythonnal, letöltheti a https://www.python.org/downloads/ címről.

  • A Python megértése. Meg kell értenie, hogyan kell Python osztályokat, modulokat és függvényeket írni.
  • Egy csomagkezelő. Ehhez a bemutatóhoz pip-et fogunk használni. Ezzel a paranccsal ellenőrizheti, hogy a pip telepítve van-e;
pip --version

Ha telepítve van, valami hasonlót fog látni a terminálján.

A követelmények a telepíteni kívánt csomag jellegétől függően változhatnak.

Ehhez a demonstrációhoz létrehozok egy egyszerű Python-csomagot, amely ellenőrzi, hogy egy szám prím-e. Követheted;

  • Első lépés: Hozzon létre egy projektmappát. Az enyémet primecheckernek nevezem el.
  • Második lépés: Hozzon létre egy másik mappát a primechecker mappában, és nevezze el elsődlegesnek.
  • Harmadik lépés: Hozzon létre egy fájlt a második lépésben létrehozott könyvtárban, és nevezze el prime.py-nek. Ezzel a paranccsal kombinálhatja a három lépést;
 mkdir primechecker && cd primechecker && mkdir prime && cd prime && touch prime.py
  • Harmadik lépés: Nyissa meg projektjét a kódszerkesztőben. Ezt a kódot ezután hozzáadhatja a prime.py fájlhoz, amely ellenőrzi, hogy egy szám prímszám-e;
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
  • Negyedik lépés: A prime mappában hozzon létre egy új fájlt, és nevezze el __init__.py. Ezzel a fájllal a Python felismeri az általunk csomagként létrehozott projektmappát.

Használhatja ezt a parancsot;

touch prime/__init__.py
  • Ötödik lépés: Tesztelje a kódot. A gyökérmappában lévő test.py fájlban létrehozhatunk egy szkriptet, amely ellenőrzi, hogy egy szám prímszámú-e. Lépjen vissza a fő mappába, és használja ezt a parancsot;
touch test.py

Ezután hozzáadhatja ezt a kódot ehhez a fájlhoz;

from prime.prime import is_prime

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

result = is_prime(number)

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

Futtassa ezt a parancsot a kód ellenőrzéséhez;

python3 test.py

Most megadhat egy számot, és ellenőrizheti, hogy prímszám-e.

  Google „Sebességteszt” Az internetsebesség teszteléséhez a Google keresőoldaláról

Például ellenőriztem, hogy 5 és 1 prímszámok-e, és a következőket kaptam;

Hogyan töltsd fel a csomagot online

A létrehozott csomagot a PyPI-n (Python Package Index) tárolhatja. Ez egy központi adattár, amely Python-csomagok ezreit hordozza. Nyissa meg a https://pypi.org/ oldalt, és hozzon létre egy fiókot, ha még nincs.

Kövesse ezeket a lépéseket most a csomag online feltöltéséhez;

  • 1. lépés: Hozzon létre egy új fájlt a gyökérmappában (az enyém primechecker), és nevezze el setup.py-nek.
  • 2. lépés: Módosítsa a setup.py fájl tartalmát úgy, hogy az információkat tartalmazzon a feltölteni kívánt csomagról.

A fájl kódjának a következőnek kell lennie;

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(),

)

Módosítsa a nevet, a szerzőt, a szerző_e-mail címét és a leírást a csomag adatainak megfelelően.

  • 3. lépés: Készítse el a csomagot. Futtassa ezt a parancsot a gyökérmappában;
python3 setup.py sdist bdist_wheel

Ha megnézi a projekt mappáját, két új mappát láthat (build és dist) a gyökérmappán belül.

  • 4. lépés: Szerelje be a zsineget. Ez a csomag a PyPI-be való csomagok feltöltéséhez szükséges.

Használja ezt a parancsot;

pip install twine
  • 5. lépés: Töltse fel a csomagot

Használja ezt a parancsot;

twine upload dist/*

A rendszer kéri, hogy adja meg felhasználónevét és jelszavát. Ha a csomag neve még nincs foglalt, akkor a csomag közzétételre kerül az interneten, és egy linket kap a terminálján.

A most közzétett csomag a nyilvánosság számára elérhető lesz. Bárki, aki használni szeretné a csomagot, letöltheti a pip segítségével.

Például az általam közzétett csomag letölthető;

pip install primechecker==1.0.0.

Bevált gyakorlatok Python-csomagok létrehozásához

  • Ügyeljen a Python-csomagolási szabványokra: Bár szabadon dönthet a létrehozandó csomag típusáról, mindig ne feledje, hogy a Python-csomagoknak vannak szabványai, amelyeket be kell tartania. A kód írásának megkezdése előtt ellenőrizze ezeket a szabványokat a https://packaging.python.org/ oldalon.
  • Tesztelje a csomagot a telepítés előtt: A hibák gyakoriak a programozásban. Készítsen szkripteket az automatizált tesztek generálásához, különösen nagy csomagok összeállításakor. Ez a megközelítés biztosítja, hogy hibamentes csomagokat töltsön fel.
  • Verziókezelés: A megfelelő csomagnak követnie kell a szemantikus verziószámítást. A bemutatónkban létrehozott csomagban ezek a számok 1.0.0 voltak. Az első bit (1) a Major verzió, a második bit (0) a Minor verzió, az utolsó bit pedig a Patch.
  • Adja meg az összes függőséget: Igényeitől függően különböző függőségek vagy egyéb csomagok lehetnek a csomagban. Feltöltéskor minden függőséget meg kell említeni a csomag leírásában. E függőségek hozzáadásához és kezeléséhez használhat olyan eszközöket, mint a setuptools vagy a Poetry.
  • Verzióvezérlés használata: A programozás folyamatos folyamat. Folyamatosan frissítheti vagy fejlesztheti csomagját új funkciók hozzáadásához vagy hatékonyabbá tételéhez. Érdemes lehet közreműködőket is meghívni. Csomagkódját feltöltheti olyan platformokra, mint a GitHub vagy a GitLab, hogy elérhetővé tegye a kódot, és lehetővé tegye az együttműködést.
  • Dokumentálja a kódját: Az általunk készített csomag demonstrációs célokat szolgált. Ha azonban meg kíván osztani egy ilyen csomagot a nyilvánossággal vagy a csapattagokkal, akkor létre kell hoznia egy dokumentációt, amely útmutatást nyújt a felhasználók számára. A dokumentumok létrehozásához használhat olyan eszközöket, mint a Pydoc vagy a Sphinx.
  Meghajtó konvertálása GPT-ről MBR-re

Hová tölthetek még fel Python-csomagokat?

Annak ellenére, hogy a Python Package Index (PyPI) a Python-csomagok hivatalos tárháza, ez nem jelenti azt, hogy korlátozva van a használatában. A Python-csomag feltöltésének meghatározásakor figyelembe kell venni néhány tényezőt: a fájlok mérete, a csomag jellege, a szükséges támogatás szintje és a célközönség.

Ezeken más területeken is feltöltheti Python-csomagjait;

  • GitHub: A GitHub a legnagyobb kódtárhely-platform. Létrehozhat egy tárat, és hozzáadhatja Python-csomagját zip-fájlként az újraterjesztéshez.
  • Conda: A Conda egy csomagkezelő, amelyet Python-csomagjaihoz használhat. Ez a platform híres az adattudósok körében. Hozzon létre egy fiókot a Condán, és kezdje el feltölteni csomagjait az újraelosztáshoz.
  • PyPI tükör: Számos PyPI tükör létezik, amely tükrözi a PyPI platform tartalmát. Válassza ki azt, amelyik megfelel az Ön igényeinek a csomag fogadásához.

Következtetés

Most már megvan a Python-csomagok létrehozásának és online közzétételének lépései. Példánk csak alapvető volt, de lehet játszani és összetett csomagokat létrehozni. A Python-csomagok összeállításakor azonban mindig a megfelelő mappastruktúrát hozza létre.