Un ghid pentru începători pentru crearea și utilizarea pachetelor în Python

Imaginează-ți sarcina descurajantă de a dezvolta o aplicație cuprinzătoare limitată la un singur fișier Python. Deși este fezabil din punct de vedere tehnic, contravine principiilor de bază ale construirii de software eficient, întreținut și reutilizabil. Din astfel de motive, pachetele și modulele sunt esențiale pentru construirea și dezvoltarea software-ului.

Ce este un pachet?

În Python, un pachet oferă o modalitate de a organiza module și resurse legate logic împreună. Este un director care conține mai multe module Python, sub-pachete și alte resurse.

Pachetele oferă o structură ierarhică, permițându-vă să organizați codul proiectului la diferite niveluri de abstractizare.

Diferența dintre pachete și module

Deși puteți folosi atât pachete, cât și module pentru a organiza codul, există diferențe între ele:

  • Modul: Un modul este un fișier care conține cod Python. Acesta definește funcții, clase, variabile și alte obiecte pe care le puteți importa și utiliza în cod.
  • Pachetul: Un pachet este o colecție de unul sau mai multe module și poate include și sub-pachete.

Cum se creează un pachet în Python

Pentru a crea un pachet, urmați acești pași prezentați.

Pasul 1: Creați un director de proiect

Începeți prin a crea un director de proiect.

 study_bud/

Pasul 2: Creați un director de pachete

În directorul de proiect, creați un alt director care va servi drept director de pachet. Dați-i un nume semnificativ care să reprezinte scopul sau funcționalitatea pachetului. Directorul pachetului va conține modulele și sub-pachetele legate de pachetul dvs.

 study_bud/
    math_tool/

Pasul 3: Definiți fișierul pachet __init__.py

În directorul pachetului, creați un fișier __init__.py. Prezența fișierului __init__.py este ceea ce face din director un pachet în Python.

  Remediați eroarea Xbox Live 8015190e

Dacă trebuie să inițializați un cod ori de câte ori utilizați pachetul, includeți-l în fișierul __init__.py, altfel este întotdeauna gol.

 study_bud/
    math_tool/
        __init__.py

Pasul 4: Adăugați module la pachet

În directorul pachetului, adăugați module Python (.py) care definesc funcții, clase sau variabile.

Aceste module conțin codul real care oferă funcționalitatea pachetului dumneavoastră. Puteți crea mai multe module în directorul pachetului.

 study_bud/
    math_tool/
        __init__.py
        operations.py
        statistics.py

Pasul 5: Adăugați sub-pachete la pachet

Dacă pachetul dumneavoastră trebuie să aibă o structură ierarhică sau conține funcționalități distincte, puteți crea sub-pachete în directorul pachetului.

Un subpachet este pur și simplu un alt director de pachete din directorul principal al pachetului. Fiecare sub-pachet ar trebui să aibă fișierul său __init__.py. Sub-pachetele permit organizarea și separarea ulterioară a codului.

 study_bud/
    math_tool/
        __init__.py
        operations.py
        statistics.py
        geometry/
            __init__.py
            shapes.py
        calculus/
            __init__.py
            integrations.py

În acești pași, ați creat un pachet math_tool, ați adăugat două module (operations.py și statistics.py) și două sub-pachete geometrie și calcul, fiecare având modulele lor.

Urmând acești pași, puteți organiza cu ușurință funcționalitățile asociate folosind un pachet și sub-pachete, facilitând gestionarea și reutilizarea codului.

Cum să lucrați cu un pachet în Python

Pentru a lucra cu un pachet, trebuie să-l importați. Cuvintele cheie import și from vă permit să importați și să utilizați un pachet în codul dvs.

 import math_tool 

De asemenea, puteți utiliza notația cu puncte pentru a importa module, sub-pachete sau proprietăți specifice dintr-un pachet. Notația cu puncte vă permite să navigați prin structura directorului pachetului. Notarea cu puncte face importurile dvs. mai lizibile și mai ușor de întreținut.

 from math_tool.operations import add, multiply 

În codul de mai sus, ați navigat din directorul pachetului (math_tool) la modulul de operații folosind notația cu puncte și ați importat două funcții (adăugați și înmulțiți).

  Cum să puneți un iPad în modul Kiosk

Importuri absolute vs. importuri relative

În cazul importurilor absolute, specificați calea completă de la pachetul de nivel superior (pachetul rădăcină) la modulul sau subpachetul dorit. Acesta este cel mai comun și recomandat mod de a importa module și pachete în Python.

 from math_tool.geometry.shapes import parallelogram

Pornind de la math_tool, intrați în subpachetul geometry, găsiți modulul shapes.py și importați funcția paralelogram.

În timp ce importurile relative vă permit să faceți importuri relativ la locația modulului curent folosind notația cu puncte pentru a specifica importurile relative.

De exemplu, în interiorul modulului calculus/integrations.py, puteți utiliza importul relativ pentru a importa o funcție din modulul shapes.py din subpachetul geometrie.

 
from ..geometry.shapes import rhombus

Punctul dublu (“..”) îi spune lui Python să:

  • Începeți din directorul sub-pachet (calcul) unde există modulul (integrations.py).
  • Accesați directorul pachetului părinte (math_tool) al subpachetului.
  • Găsiți subpachetul geometrie în directorul părinte.
  • Accesați modulul shapes.py și importați rombul din acesta.

Deci, notația cu puncte reprezintă numărul de directoare în care să navigați din directorul modulului curent.

Alias ​​Imports pentru comoditate

Puteți atribui un alias unui import, ceea ce face mai ușor să vă referiți în cod. Aliasurile sunt utile atunci când aveți de-a face cu nume lungi de pachete sau module.

Pentru a atribui un alias, utilizați cuvântul cheie as.

 import math_tool.calculus as cal

Cum să vă distribuiți pachetul în Python

Python vă oferă instrumente și o platformă pentru a vă construi și distribui pachetul. Distribuirea pachetului vă permite să vă partajați codul cu alți dezvoltatori, să promovați colaborarea, să simplificați instalarea pentru utilizatori și să contribuiți la comunitatea mai largă Python.

  Cum să adăugați automat sarcini Microsoft Planner în calendarul dvs. Outlook

Pasul 1: Creați un cont pe PyPI

Indexul pachetului Python (PyPI) este depozitul implicit pentru pachetele Python. Vă puteți publica pachetele pe PyPI, astfel încât alți dezvoltatori să le poată găsi și instala cu ușurință.

Asigurați-vă că vă amintiți numele de utilizator și parola, deoarece veți avea nevoie de ele pentru autentificare atunci când încărcați pachetul în PyPI.

Pasul 2: Instalați instrumentele de gestionare a pachetelor

Aceste instrumente vă ajută să configurați, să construiți și să împingeți un pachet distribuibil într-o singură comandă.

 pip install build wheel twine

Pasul 3: Creați un fișier setup.py

Pentru a vă distribui pachetul, creați un fișierul setup.py în directorul rădăcină al proiectului dvs. Fișierul setup.py conține metadate despre pachetul dvs., cum ar fi numele, versiunea, autorul, descrierea, dependențele și multe altele.

Instrumentele de gestionare a pachetelor vor folosi fișierul setup.py pentru a configura și construi pachetul.

 
from setuptools import setup, find_packages

setup(
    name="<package name>",
    version='1.0.0',
    author="<Your Name>",
    description='A collection of mathematical utility functions',
    packages=find_packages(),
    install_requires=[
        'numpy',
        'scipy',
    ],
)

Pasul 4: Construiți pachetul

Odată ce aveți gata fișierul setup.py, îl puteți utiliza pentru a construi un pachet distribuibil. În terminalul sau promptul de comandă, navigați la directorul care conține fișierul setup.py și executați următoarea comandă:

 python setup.py sdist bdist_wheel

Această comandă generează un director dist care conține un pachet de distribuție sursă (.tar.gz) și un pachet de distribuție roată (.whl). Veți vedea, de asemenea, un director de compilare și informații.

Pasul 5: Încărcați pachetul în PyPI

Cu pachetul gata, îl puteți încărca în PyPI.

Executați următoarea comandă:

 twine upload dist/*
> Uploading distributions to https://upload.pypi.org/legacy/
> Enter your username: **********
> Enter your password: **********

Vizitează-ți PyPI pagina de management de proiect pentru a vedea pachetul dvs.

Acum, alți dezvoltatori care găsesc pachetul dvs. util îl pot instala și utiliza local.

Cum se instalează un pachet Python

Managerii de pachete precum pip facilitează instalarea și gestionarea pachetelor Python din diverse surse, inclusiv Python Package Index (PyPI). Pentru a instala un pachet folosind pip, deschideți terminalul sau promptul de comandă și utilizați următoarea comandă:

 pip install <package_name>

Pentru a vedea toate comenzile și opțiunile disponibile pentru pip, utilizați opțiunea –help.

Scrierea modulelor curate

Pachetele conțin module și sub-pachete care la rândul lor conțin alte module. Este o practică bună să vă modularizați codul, mai ales atunci când lucrați la proiecte mai mari, deoarece promovează o mai bună organizare și lizibilitate a codului. Prin urmare, este important să scrieți module cu claritate atunci când dezvoltați cu Python.