Μάθετε πώς να δημιουργείτε, να διανέμετε και να χρησιμοποιείτε πακέτα στην Python με τη βοήθεια αυτού του οδηγού.

Φανταστείτε το δύσκολο έργο της ανάπτυξης μιας ολοκληρωμένης εφαρμογής περιορισμένης σε ένα μόνο αρχείο Python. Αν και είναι τεχνικά εφικτό, έρχεται σε αντίθεση με τις βασικές αρχές της δημιουργίας αποτελεσματικού, συντηρήσιμου και επαναχρησιμοποιήσιμου λογισμικού. Για τέτοιους λόγους, τα πακέτα και οι ενότητες είναι απαραίτητα για την κατασκευή και ανάπτυξη λογισμικού.

Τι είναι ένα πακέτο;

Στην Python, ένα πακέτο παρέχει έναν τρόπο οργάνωσης λογικά σχετιζόμενων μονάδων και πόρων μαζί. Είναι ένας κατάλογος που περιέχει πολλαπλές λειτουργικές μονάδες Python, υποπακέτα και άλλους πόρους.

Τα πακέτα παρέχουν μια ιεραρχική δομή, επιτρέποντάς σας να οργανώσετε τον κώδικα του έργου σας σε διαφορετικά επίπεδα αφαίρεσης.

Διαφορά μεταξύ πακέτων και ενοτήτων

Ενώ μπορείτε να χρησιμοποιήσετε και τα δύο πακέτα και ενότητες για την οργάνωση κώδικα, υπάρχουν διαφορές μεταξύ τους:

  • Μονάδα μέτρησης
    instagram viewer
    : Μια λειτουργική μονάδα είναι ένα αρχείο που περιέχει κώδικα Python. Ορίζει συναρτήσεις, κλάσεις, μεταβλητές και άλλα αντικείμενα που μπορείτε να εισαγάγετε και να χρησιμοποιήσετε στον κώδικά σας.
  • Πακέτο: Ένα πακέτο είναι μια συλλογή από μία ή περισσότερες ενότητες και μπορεί επίσης να περιλαμβάνει υποπακέτα.

Πώς να δημιουργήσετε ένα πακέτο στην Python

Για να δημιουργήσετε ένα πακέτο ακολουθήστε τα παρακάτω βήματα.

Βήμα 1: Δημιουργήστε έναν κατάλογο έργου

Ξεκινήστε δημιουργώντας έναν κατάλογο έργου.

study_bud/

Βήμα 2: Δημιουργήστε έναν κατάλογο πακέτων

Μέσα στον κατάλογο του έργου σας, δημιουργήστε έναν άλλο κατάλογο που θα χρησιμεύει ως κατάλογος πακέτων. Δώστε του ένα ουσιαστικό όνομα που αντιπροσωπεύει το σκοπό ή τη λειτουργικότητα του πακέτου. Ο κατάλογος πακέτων θα περιέχει τις ενότητες και τα υποπακέτα που σχετίζονται με το πακέτο σας.

study_bud/
math_tool/

Βήμα 3: Ορίστε το αρχείο πακέτου __init__.py

Στον κατάλογο πακέτων, δημιουργήστε ένα __init__.py αρχείο. Η παρουσία του __init__.py αρχείο είναι αυτό που κάνει τον κατάλογο ένα πακέτο στην Python.

Εάν χρειάζεται να αρχικοποιήσετε έναν κωδικό κάθε φορά που χρησιμοποιείτε το πακέτο, συμπεριλάβετέ τον στο __init__.py αρχείο διαφορετικά είναι πάντα κενό.

study_bud/
math_tool/
__init__.py

Βήμα 4: Προσθήκη λειτουργικών μονάδων στο πακέτο

Μέσα στον κατάλογο του πακέτου, προσθέστε λειτουργικές μονάδες Python (.py) που ορίζουν συναρτήσεις, κλάσεις ή μεταβλητές.

Αυτές οι μονάδες περιέχουν τον πραγματικό κώδικα που παρέχει τη λειτουργικότητα του πακέτου σας. Μπορείτε να δημιουργήσετε πολλαπλές λειτουργικές μονάδες στον κατάλογο του πακέτου.

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

Βήμα 5: Προσθέστε υποπακέτα στο πακέτο

Εάν το πακέτο σας πρέπει να έχει ιεραρχική δομή ή να περιέχει ξεχωριστές λειτουργίες, μπορείτε να δημιουργήσετε υποπακέτα μέσα στον κατάλογο πακέτων.

Ένα υπο-πακέτο είναι απλώς ένας άλλος κατάλογος πακέτων μέσα στον κύριο κατάλογο πακέτων. Κάθε υποπακέτο πρέπει να έχει το δικό του __init__.py αρχείο. Τα υποπακέτα επιτρέπουν περαιτέρω οργάνωση και διαχωρισμό του κώδικα.

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

Σε αυτά τα βήματα, δημιουργήσατε ένα math_tool πακέτο, προστέθηκαν δύο ενότητες (λειτουργίες.py και στατιστικά.py), και δύο υποπακέτα γεωμετρία και λογισμός ο καθένας έχει τις ενότητες του.

Ακολουθώντας αυτά τα βήματα, μπορείτε εύκολα να οργανώσετε τις σχετικές λειτουργίες χρησιμοποιώντας ένα πακέτο και υποπακέτα, διευκολύνοντας τη διαχείριση και την επαναχρησιμοποίηση του κώδικα.

Πώς να εργαστείτε με ένα πακέτο στην Python

Για να εργαστείτε με ένα πακέτο πρέπει να το εισαγάγετε. ο εισαγωγή και από οι λέξεις-κλειδιά σάς επιτρέπουν να εισάγετε και να χρησιμοποιείτε ένα πακέτο στον κώδικά σας.

import math_tool # entire package

Μπορείτε επίσης να χρησιμοποιήσετε τον συμβολισμό κουκκίδων για την εισαγωγή λειτουργικών μονάδων, υπο-πακέτων ή συγκεκριμένων ιδιοτήτων από ένα πακέτο. Ο συμβολισμός κουκκίδας σάς επιτρέπει να πλοηγηθείτε στη δομή του καταλόγου του πακέτου. Ο συμβολισμός κουκκίδων κάνει τις εισαγωγές σας πιο ευανάγνωστες και ευκολότερες στη συντήρηση.

from math_tool.operations import add, multiply # specific functions

Στον παραπάνω κώδικα, πλοηγηθήκατε από τον κατάλογο πακέτων (math_tool) στο επιχειρήσεις μονάδα που χρησιμοποιεί τον συμβολισμό κουκκίδων και εισάγει δύο συναρτήσεις (Προσθήκη και πολλαπλασιάζω).

Απόλυτες Εισαγωγές vs. Σχετικές Εισαγωγές

Με απόλυτοςεισαγωγές, καθορίζετε την πλήρη διαδρομή από το πακέτο ανώτατου επιπέδου (το ριζικό πακέτο) προς την επιθυμητή ενότητα ή υποπακέτο. Αυτός είναι ο πιο συνηθισμένος και προτεινόμενος τρόπος εισαγωγής λειτουργικών μονάδων και πακέτων στην Python.

from math_tool.geometry.shapes import parallelogram

Ξεκινώντας από math_tool πηγαίνετε στο γεωμετρία υπο-πακέτο, βρείτε το σχήματα.py μονάδα και εισαγάγετε το παραλληλόγραμμο λειτουργία.

Ενώ συγγενήςεισαγωγές σας επιτρέπει να πραγματοποιείτε εισαγωγές σε σχέση με την τοποθεσία της τρέχουσας λειτουργικής μονάδας χρησιμοποιώντας τον συμβολισμό κουκκίδων για να καθορίσετε σχετικές εισαγωγές.

Για παράδειγμα, μέσα στο λογισμός/ολοκληρώσεις.py ενότητα, μπορείτε να χρησιμοποιήσετε σχετική εισαγωγή για να εισαγάγετε μια συνάρτηση από το σχήματα.py ενότητα στο γεωμετρία υποπακέτο.

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

Η διπλή τελεία (.") λέει στην Python να:

  • Ξεκινήστε από τον κατάλογο υπο-πακέτων (λογισμός) όπου η ενότητα (integrations.py) υπάρχει.
  • Μεταβείτε στο γονικό πακέτο (math_tool) κατάλογο του υποπακέτου.
  • Βρες το γεωμετρία υποπακέτο στον γονικό κατάλογο.
  • Πηγαίνετε στο σχήματα.py μονάδα και εισαγωγή ρόμβος από αυτό.

Έτσι, ο συμβολισμός κουκκίδας αντιπροσωπεύει τον αριθμό των καταλόγων στους οποίους πρέπει να πλοηγηθείτε από τον τρέχοντα κατάλογο λειτουργικών μονάδων.

Alias ​​Imports για ευκολία

Μπορείτε να αντιστοιχίσετε ένα ψευδώνυμο σε μια εισαγωγή διευκολύνοντας την αναφορά στον κώδικά σας. Τα ψευδώνυμα είναι χρήσιμα όταν ασχολείστε με μεγάλα ονόματα πακέτων ή μονάδων.

Για να εκχωρήσετε ένα ψευδώνυμο χρησιμοποιήστε το όπως και λέξη-κλειδί.

import math_tool.calculus as cal

Πώς να διανείμετε το πακέτο σας στην Python

Η Python σας παρέχει εργαλεία και μια πλατφόρμα για να δημιουργήσετε και να διανείμετε το πακέτο σας. Η διανομή του πακέτου σας σάς επιτρέπει να μοιραστείτε τον κώδικά σας με άλλους προγραμματιστές, να προωθήσετε τη συνεργασία, να απλοποιήσετε την εγκατάσταση για τους χρήστες και να συνεισφέρετε στην ευρύτερη κοινότητα της Python.

Βήμα 1: Δημιουργήστε έναν λογαριασμό στο PyPI

Ευρετήριο πακέτου Python (PyPI) είναι το προεπιλεγμένο αποθετήριο για πακέτα Python. Μπορείτε να δημοσιεύσετε τα πακέτα σας στο PyPI, ώστε άλλοι προγραμματιστές να μπορούν να τα βρουν και να τα εγκαταστήσουν εύκολα.

Φροντίστε να θυμάστε το δικό σας όνομα χρήστη και Κωδικός πρόσβασης καθώς θα τα χρειαστείτε για έλεγχο ταυτότητας κατά τη μεταφόρτωση του πακέτου σας στο PyPI.

Αυτά τα εργαλεία σας διευκολύνουν να διαμορφώσετε, να δημιουργήσετε και να προωθήσετε ένα διανεμητέο πακέτο με μία μόνο εντολή.

pip install build wheel twine

Βήμα 3: Δημιουργήστε ένα αρχείο setup.py

Για να διανείμετε το πακέτο σας, δημιουργήστε ένα αρχείο setup.py στον ριζικό κατάλογο του έργου σας. ο setup.py Το αρχείο περιέχει μεταδεδομένα σχετικά με το πακέτο σας, όπως το όνομα, την έκδοση, τον συγγραφέα, την περιγραφή, τις εξαρτήσεις και άλλα.

Τα εργαλεία διαχείρισης πακέτων θα χρησιμοποιούν το setup.py αρχείο για να διαμορφώσετε και να δημιουργήσετε το πακέτο σας.

#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',
],
)

Βήμα 4: Δημιουργήστε το πακέτο

Μόλις έχετε το setup.py έτοιμο αρχείο, μπορείτε να το χρησιμοποιήσετε για να δημιουργήσετε ένα διανεμητέο πακέτο. Στο τερματικό σας ή στη γραμμή εντολών, πλοηγηθείτε στον κατάλογο που περιέχει το setup.py αρχείο και εκτελέστε την ακόλουθη εντολή:

python setup.py sdist bdist_wheel

Αυτή η εντολή δημιουργεί α απόσταση κατάλογο που περιέχει ένα πακέτο διανομής πηγής (.tar.gz) και ένα πακέτο διανομής τροχού (.whl). Θα δείτε επίσης ένα χτίζω και πληροφορίες Ευρετήριο.

Βήμα 5: Ανεβάστε το πακέτο στο PyPI

Με το πακέτο σας έτοιμο, μπορείτε να το ανεβάσετε στο PyPI.

Εκτελέστε την ακόλουθη εντολή:

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

Επισκεφθείτε το δικό σας PyPI σελίδα διαχείρισης έργου για να δείτε το πακέτο σας.

Τώρα άλλοι προγραμματιστές που βρίσκουν το πακέτο σας χρήσιμο μπορούν να το εγκαταστήσουν και να το χρησιμοποιήσουν τοπικά.

Πώς να εγκαταστήσετε ένα πακέτο Python

Οι διαχειριστές πακέτων όπως το pip διευκολύνουν την εγκατάσταση και τη διαχείριση πακέτων Python από διάφορες πηγές, συμπεριλαμβανομένου του Ευρετηρίου Πακέτων Python (PyPI). Για να εγκαταστήσετε ένα πακέτο χρησιμοποιώντας κουκούτσι, ανοίξτε το τερματικό σας ή τη γραμμή εντολών και χρησιμοποιήστε την ακόλουθη εντολή:

pip install 

Για να δείτε όλες τις διαθέσιμες εντολές και επιλογές για κουκούτσι Χρησιμοποιήστε το --βοήθεια επιλογή.

Συγγραφή καθαρών ενοτήτων

Τα πακέτα περιέχουν ενότητες και υποπακέτα που με τη σειρά τους περιέχουν άλλες ενότητες. Είναι καλή πρακτική να προσαρμόζετε τον κώδικά σας, ειδικά όταν εργάζεστε σε μεγαλύτερα έργα, καθώς προωθεί την καλύτερη οργάνωση και αναγνωσιμότητα του κώδικα. Επομένως, είναι σημαντικό να γράφετε ενότητες με σαφήνεια κατά την ανάπτυξη με Python.