So packen Sie CLI-Anwendungen mit Python und stellen sie bereit


Basierend auf der Schnittstelle haben wir zwei Arten von Anwendungen: CLI-Anwendungen (Command Line Interface) und GUI-Anwendungen (Graphische Benutzerschnittstellen)-Anwendungen.

Eine Befehlszeilenanwendung oder Konsolenanwendung ist eine Anwendung, auf die über eine Shell oder Befehlszeile über eine Textschnittstelle zugegriffen werden kann. Diese akzeptiert Eingaben des Benutzers im Textformat.

Im Gegensatz zu GUI-Anwendungen, die den Benutzern eine grafische Oberfläche mit Schaltflächen, Textfeldern und Symbolen für den Zugriff auf die zugrunde liegende Anwendung bieten.

Python ist eine beliebte Programmiersprache für die Entwicklung von CLI-Anwendungen, allerdings ist das Packen und Verteilen solcher Anwendungen etwas schwierig. Dies können wir ganz einfach mit den integrierten und externen Tools erreichen.

Schauen wir uns alle Schritte an, die beim Packen und Bereitstellen von CLI-Anwendungen mit Python erforderlich sind.

Schritt 1: Erstellen Sie ein Python-Paket

Zunächst müssen wir ein Python-Paket erstellen, um eine CLI-Anwendung zu erstellen. Ein Paket ist ein Ordner, der eine Datei init.py enthält. Dies zeigt an, dass es sich bei diesem Ordner um ein Python-Paket handelt. Dies ist nützlich, wenn diese CLI-Anwendung von jemandem installiert wird.

Wir können einen Ordner mit einem beliebigen Namen für unser Paket erstellen und darin zwei Dateien hinzufügen, die erste Datei ist init.py und die zweite Datei ist my_cli_app.py.

In diesem Beispiel versuchen wir, ein Paket namens my_package zu erstellen und eine Datei namens my_cli_app.py hinzuzufügen, die den Code für unsere CLI-Anwendung enthält.

my_package/
 __init__.py
 my_cli_app.py

Schritt 2: Definieren Sie einen CLI-Einstiegspunkt

Im zweiten Schritt definieren wir einen Command Line Interface-Einstiegspunkt oder CLI-Einstiegspunkt. Ein Einstiegspunkt ist die Python-Funktion, die zuerst ausgeführt wird, wenn wir unsere Anwendung über die CLI ausführen.

Die Click-Bibliothek ist eine sehr beliebte Python-Bibliothek, die normalerweise zum Erstellen von CLI-Anwendungen verwendet wird. Wir müssen die Klickbibliothek von Python importieren, um einen Einstiegspunkt zu erstellen.

In diesem Beispiel haben wir einen CLI-Einstiegspunkt mithilfe der oben genannten Klickbibliothek von Python definiert. Der Dekorator @click.command() informiert den Klick darüber, dass es sich bei dieser Funktion um einen CLI-Befehl handelt. Der @click.option()-Dekorator definiert eine Befehlszeilenoption, die es dem Benutzer ermöglicht, ein Argument an den Befehl zu übergeben.

import click
@click.command()
@click.option('--name', default='World', help='The person to greet.')
def hello(name):
   click.echo(f'Hello, {name}!')
if __name__ == '__main__':
   hello()

Schritt 3: Abhängigkeiten zu Setup.py hinzufügen

Der dritte Schritt besteht darin, unsere Abhängigkeiten zur Datei setup.py hinzuzufügen. Diese Abhängigkeiten werden von unserer CLI-Anwendung benötigt. Die Datei setup.py wird von Python zum Erstellen und Installieren unserer CLI-Anwendung verwendet. Zum Hinzufügen der Abhängigkeiten verwenden wir den Parameter install_requires aus der Funktion setuptools.setup() .

Hier haben wir click als Abhängigkeit mithilfe des Parameters install_requires hinzugefügt. Wir haben auch einen Einstiegspunkt für unsere CLI-Anwendung mithilfe des Parameters „entry_points“ definiert. Der Einstiegspunkt console_scripts teilt Python mit, dass es sich um ein Befehlszeilenskript handelt, und der Befehl my_cli_app ist als Einstiegspunkt definiert.

from setuptools import setup, find_packages
setup(
   name='my_package',
   version='0.1',
   packages=find_packages(),
   install_requires=[
      'click',
   ],
   entry_points='''
      [console_scripts]
      my_cli_app=my_package.my_cli_app:hello
      ''',
)

Schritt 4: Erstellen und verteilen Sie unser Paket

Der letzte oder vierte Schritt beim Packen und Bereitstellen Ihrer Python-basierten CLI-Anwendung besteht darin, unser Paket zu erstellen und zu verteilen. Mit der Verwendung der „setuptools“-Bibliothek können wir unser Paket einfach erstellen und verteilen.

Um unser Paket zu erstellen, führen Sie den folgenden Befehl aus:

$ python setup.py sdist bdist_wheel

Dieser obige Befehl erstellt eine Quelldistribution (sdist) und eine Binärdistribution (bdist_wheel) unseres Pakets im dist-Verzeichnis oder -Ordner. Die Quelldistribution (sdist) enthält den Quellcode und die Ressourcen, und die Binärdistribution enthält den kompilierten Code und kann auf verschiedenen Plattformen installiert werden.

Um unser Paket zu verteilen, müssen wir es mithilfe der Twine-Bibliothek auf den Python Package Index (PyPI) hochladen. Dafür müssen wir ein Konto bei PyPI haben. Wir müssen also ein Konto bei PyPI erstellen und dann die Twine-Bibliothek mit pip − installieren

$ pip install twine

Als nächstes können wir unser Paket mit dem folgenden Befehl auf PyPI hochladen:

$ twine upload dist/*

Dieser Befehl lädt alle Distributionen im Verzeichnis dist/ auf PyPI hoch.

Schritt 5: Installieren und nutzen Sie unser Paket

Um unser CLI-Anwendungspaket zu installieren, können Benutzer pip zum Herunterladen und Installieren oder Verpacken von PyPI verwenden

$ pip install my_package

Sobald das Paket installiert ist, können Benutzer den im Parameter „entry_points“ definierten CLI-Befehl verwenden. Im folgenden Snippet haben wir ein Argument als Namen an die Option --name übergeben, das von der Funktion hello verwendet wird, um die Begrüßungsnachricht mit dem als Argument angegebenen Namen zu drucken. Dies macht die Anwendung etwas benutzerfreundlicher.

$ my_cli_app --name Alice
Hello, Alice!

Abschluss

In diesem Artikel haben wir gelernt, wie man eine Befehlszeilenanwendung mit Python verpackt und bereitstellt. Wir haben gelernt, was eine CLI-Anwendung ist, wie nützlich sie ist und welche Schritte zum Erstellen und Bereitstellen einer CLI-Anwendung erforderlich sind. Wir können jeden in diesem Artikel beschriebenen Schritt befolgen, dann ein Python-Paket erstellen, den CLI-Einstiegspunkt definieren, Abhängigkeiten zur Datei setup.py hinzufügen, ein Paket erstellen und verteilen und unser Paket einfach installieren und verwenden. Indem wir die oben genannten Schritte befolgen, können wir sicher sein, dass unsere Anwendung einfach zu packen und bereitzustellen ist und von anderen Programmierern problemlos verwendet werden kann.