Aflați cum să creați, să distribuiți și să utilizați pachete în Python cu ajutorul acestui ghid.

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

În timp ce puteți folosi ambele pachete și module pentru organizarea codului, 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.
  • instagram viewer
  • Pachet: 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 __init__.py fişier. Prezenta lui __init__.py fișierul este ceea ce face din director un pachet în Python.

Dacă trebuie să inițializați un cod ori de câte ori utilizați pachetul, includeți-l în __init__.py fișier, 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ă al său __init__.py fişier. 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 instrument_matematică pachet, a adăugat două module (operațiuni.py și statistics.py), și două subpachete 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. The import și din cuvintele cheie vă permit să importați și să utilizați un pachet în codul dvs.

import math_tool # entire package

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 # specific functions

În codul de mai sus, ați navigat din directorul pachetului (instrument_matematică) la operațiuni modul folosind notația punct și a importat două funcții (adăuga și multiplica).

Importuri absolute vs. Importuri relative

Cu absolutimporturilor, 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

Începând de la instrument_matematică intră în geometrie subpachetul, găsiți forme.py modul și importați paralelogram funcţie.

In timp ce relativimporturilor vă permit să faceți importuri în raport cu locația modulului curent folosind notația cu puncte pentru a specifica importurile relative.

De exemplu, în interiorul calcul/integrations.py modul, puteți utiliza importul relativ pentru a importa o funcție din forme.py modul în geometrie subpachet.

# calculus/integrations.py
from ..geometry.shapes import rhombus

Punctul dublu (""..") îi spune lui Python:

  • Începeți din directorul sub-pachet (calcul) unde modulul (integrări.py) există.
  • Intră în pachetul părinte (instrument_matematică) directorul subpachetului.
  • Găsi geometrie subpachetul din directorul părinte.
  • Intră în forme.py modul și import romb din ea.

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 la fel de cuvânt cheie.

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.

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 nume de utilizator și parola deoarece veți avea nevoie de ele pentru autentificare atunci când încărcați pachetul în PyPI.

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. The setup.py fișierul 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 setup.py fișier pentru a configura și a construi pachetul.

#setup.py
from setuptools import setup, find_packages

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

Pasul 4: Construiți pachetul

Odată ce ai setup.py gata, îl puteți folosi pentru a construi un pachet distribuibil. În terminalul sau promptul de comandă, navigați la director conţinând setup.py fișier și executați următoarea comandă:

python setup.py sdist bdist_wheel

Această comandă generează un dist director care conține un pachet de distribuție sursă (.tar.gz) și un pachet de distribuție roată (.whl). Veți vedea și un construi și info director.

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 ca pip ușurează 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 

Pentru a vedea toate comenzile și opțiunile disponibile pentru pip folosește --Ajutor opțiune.

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.