Erfahren Sie mithilfe dieses Handbuchs, wie Sie Pakete in Python erstellen, verteilen und verwenden.
Stellen Sie sich die entmutigende Aufgabe vor, eine umfassende Anwendung zu entwickeln, die auf eine einzige Python-Datei beschränkt ist. Obwohl es technisch machbar ist, widerspricht es den Grundprinzipien der Entwicklung effizienter, wartbarer und wiederverwendbarer Software. Aus diesen Gründen sind Pakete und Module für die Erstellung und Entwicklung von Software unerlässlich.
Was ist ein Paket?
In Python bietet ein Paket eine Möglichkeit, logisch verwandte Module und Ressourcen gemeinsam zu organisieren. Es handelt sich um ein Verzeichnis, das mehrere Python-Module, Unterpakete und andere Ressourcen enthält.
Pakete bieten eine hierarchische Struktur, die es Ihnen ermöglicht, den Code Ihres Projekts auf verschiedenen Abstraktionsebenen zu organisieren.
Unterschied zwischen Paketen und Modulen
Sie können zwar beide Pakete und verwenden Module zum Organisieren von Code, es gibt Unterschiede zwischen ihnen:
- Modul: Ein Modul ist eine Datei, die Python-Code enthält. Es definiert Funktionen, Klassen, Variablen und andere Objekte, die Sie importieren und in Ihrem Code verwenden können.
- Paket: Ein Paket ist eine Sammlung aus einem oder mehreren Modulen und kann auch Unterpakete enthalten.
So erstellen Sie ein Paket in Python
Um ein Paket zu erstellen, befolgen Sie diese Schritte.
Schritt 1: Erstellen Sie ein Projektverzeichnis
Erstellen Sie zunächst ein Projektverzeichnis.
study_bud/
Schritt 2: Erstellen Sie ein Paketverzeichnis
Erstellen Sie in Ihrem Projektverzeichnis ein weiteres Verzeichnis, das als Paketverzeichnis dient. Geben Sie ihm einen aussagekräftigen Namen, der den Zweck oder die Funktionalität des Pakets repräsentiert. Das Paketverzeichnis enthält die Module und Unterpakete, die sich auf Ihr Paket beziehen.
study_bud/
math_tool/
Schritt 3: Definieren Sie die Paketdatei __init__.py
Erstellen Sie im Paketverzeichnis ein __init__.py Datei. Das Vorhandensein von __init__.py Die Datei macht das Verzeichnis zu einem Paket in Python.
Wenn Sie bei jeder Verwendung des Pakets einen Code initialisieren müssen, fügen Sie ihn in die __ ein.init__.py Datei, sonst ist sie immer leer.
study_bud/
math_tool/
__init__.py
Schritt 4: Module zum Paket hinzufügen
Fügen Sie im Paketverzeichnis Python-Module (.py) hinzu, die Funktionen, Klassen oder Variablen definieren.
Diese Module enthalten den eigentlichen Code, der die Funktionalität Ihres Pakets bereitstellt. Sie können mehrere Module im Paketverzeichnis erstellen.
study_bud/
math_tool/
__init__.py
operations.py
statistics.py
Schritt 5: Unterpakete zum Paket hinzufügen
Wenn Ihr Paket eine hierarchische Struktur haben muss oder unterschiedliche Funktionalitäten enthält, können Sie Unterpakete im Paketverzeichnis erstellen.
Ein Unterpaket ist einfach ein weiteres Paketverzeichnis innerhalb des Hauptpaketverzeichnisses. Jedes Unterpaket sollte sein eigenes haben __init__.py Datei. Unterpakete ermöglichen eine weitere Organisation und Trennung des Codes.
study_bud/
math_tool/
__init__.py
operations.py
statistics.py
geometry/
__init__.py
shapes.py
calculus/
__init__.py
integrations.py
Mit diesen Schritten haben Sie eine erstellt math_tool Paket, zwei Module hinzugefügt (operationen.py Und Statistiken.py) und zwei Unterpakete Geometrie Und Infinitesimalrechnung Jedes hat seine Module.
Wenn Sie diese Schritte befolgen, können Sie verwandte Funktionen einfach mithilfe eines Pakets und Unterpakets organisieren und so die Verwaltung und Wiederverwendung von Code vereinfachen.
So arbeiten Sie mit einem Paket in Python
Um mit einem Paket arbeiten zu können, müssen Sie es importieren. Der importieren Und aus Mithilfe von Schlüsselwörtern können Sie ein Paket importieren und in Ihrem Code verwenden.
import math_tool # entire package
Sie können die Punktnotation auch zum Importieren von Modulen, Unterpaketen oder bestimmten Eigenschaften aus einem Paket verwenden. Mit der Punktnotation können Sie durch die Paketverzeichnisstruktur navigieren. Durch die Punktnotation sind Ihre Importe besser lesbar und einfacher zu verwalten.
from math_tool.operations import add, multiply # specific functions
Im obigen Code haben Sie vom Paketverzeichnis aus navigiert (math_tool) zum Operationen Modul unter Verwendung der Punktnotation und importierte zwei Funktionen (hinzufügen Und multiplizieren).
Absolute Importe vs. Relative Importe
Mit absolutImporteGeben Sie den vollständigen Pfad vom Paket der obersten Ebene (dem Root-Paket) zum gewünschten Modul oder Unterpaket an. Dies ist die gebräuchlichste und empfohlene Methode zum Importieren von Modulen und Paketen in Python.
from math_tool.geometry.shapes import parallelogram
Ab math_tool geh in die Geometrie Unterpaket, finden Sie das Formen.py Modul, und importieren Sie die Parallelogramm Funktion.
Während relativImporte ermöglichen es Ihnen, Importe relativ zum aktuellen Modulstandort durchzuführen, indem Sie die Punktnotation verwenden, um relative Importe anzugeben.
Zum Beispiel im Inneren calculus/integrations.py Modul können Sie den relativen Import verwenden, um eine Funktion aus dem zu importieren Formen.py Modul in der Geometrie Unterpaket.
# calculus/integrations.py
from ..geometry.shapes import rhombus
Der Doppelpunkt („..“) weist Python an:
- Beginnen Sie im Unterpaketverzeichnis (Infinitesimalrechnung), wobei das Modul (Integrationen.py) existiert.
- Gehen Sie in das übergeordnete Paket (math_tool) Verzeichnis des Unterpakets.
- Finden Sie die Geometrie Unterpaket im übergeordneten Verzeichnis.
- Gehe hinein Formen.py Modul und Import Rhombus davon.
Die Punktnotation stellt also die Anzahl der Verzeichnisse dar, zu denen vom aktuellen Modulverzeichnis aus navigiert werden soll.
Alias-Importe für mehr Komfort
Sie können einem Import einen Alias zuweisen, um die Referenzierung in Ihrem Code zu erleichtern. Aliase sind praktisch, wenn es um lange Paket- oder Modulnamen geht.
Um einen Alias zuzuweisen, verwenden Sie die als Stichwort.
import math_tool.calculus as cal
So verteilen Sie Ihr Paket in Python
Python bietet Ihnen Tools und eine Plattform zum Erstellen und Verteilen Ihres Pakets. Durch die Verteilung Ihres Pakets können Sie Ihren Code mit anderen Entwicklern teilen, die Zusammenarbeit fördern, die Installation für Benutzer vereinfachen und zur breiteren Python-Community beitragen.
Schritt 1: Erstellen Sie ein Konto auf PyPI
Python-Paketindex (PyPI) ist das Standard-Repository für Python-Pakete. Sie können Ihre Pakete auf PyPI veröffentlichen, damit andere Entwickler sie leicht finden und installieren können.
Denken Sie unbedingt an Ihre Nutzername Und Passwort da Sie sie zur Authentifizierung benötigen, wenn Sie Ihr Paket auf PyPI hochladen.
Mit diesen Tools können Sie ganz einfach ein verteilbares Paket mit einem einzigen Befehl konfigurieren, erstellen und pushen.
pip install build wheel twine
Schritt 3: Erstellen Sie eine setup.py-Datei
Um Ihr Paket zu verteilen, erstellen Sie ein setup.py-Datei im Stammverzeichnis Ihres Projekts. Der setup.py Die Datei enthält Metadaten zu Ihrem Paket, z. B. Name, Version, Autor, Beschreibung, Abhängigkeiten und mehr.
Die Paketverwaltungstools verwenden die setup.py Datei zum Konfigurieren und Erstellen Ihres Pakets.
#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',
],
)
Schritt 4: Erstellen Sie das Paket
Sobald Sie das haben setup.py Wenn Sie die Datei fertig haben, können Sie damit ein verteilbares Paket erstellen. In Ihrem Terminal oder Ihrer Eingabeaufforderung: Navigieren Sie zum Verzeichnis enthält die setup.py Datei und führen Sie den folgenden Befehl aus:
python setup.py sdist bdist_wheel
Dieser Befehl generiert eine dist Verzeichnis, das ein Quell-Distributionspaket (.tar.gz) und ein Wheel-Distributionspaket (.whl) enthält. Sie werden auch eine sehen bauen Und die Info Verzeichnis.
Schritt 5: Laden Sie das Paket auf PyPI hoch
Wenn Ihr Paket fertig ist, können Sie es auf PyPI hochladen.
Führen Sie den folgenden Befehl aus:
twine upload dist/*
> Uploading distributions to https://upload.pypi.org/legacy/
> Enter your username: **********
> Enter your password: **********
Besuchen Sie Ihr PyPI Projektmanagementseite, um Ihr Paket anzuzeigen.
Jetzt können andere Entwickler, die Ihr Paket nützlich finden, es lokal installieren und verwenden.
So installieren Sie ein Python-Paket
Paketmanager wie pip Erleichtern Sie die Installation und Verwaltung von Python-Paketen aus verschiedenen Quellen, einschließlich des Python Package Index (PyPI). Um ein Paket zu installieren mit Pip, öffnen Sie Ihr Terminal oder Ihre Eingabeaufforderung und geben Sie den folgenden Befehl ein:
pip install
Um alle verfügbaren Befehle und Optionen für anzuzeigen Pip Benutze die --Hilfe Möglichkeit.
Saubere Module schreiben
Pakete enthalten Module und Unterpakete, die wiederum andere Module enthalten. Es empfiehlt sich, Ihren Code zu modularisieren, insbesondere wenn Sie an größeren Projekten arbeiten, da dies eine bessere Organisation und Lesbarkeit des Codes fördert. Daher ist es wichtig, Module klar zu schreiben, wenn Sie mit Python entwickeln.