Wenn Sie schon eine Weile in Python programmiert haben, müssen Sie mit dem Konzept von 'pip' bereits vertraut sein. Es ist ein Paketverwaltungssystem, mit dem in Python geschriebene Softwarepakete / Bibliotheken installiert und verwaltet werden.
Dann kann man fragen, wo all diese Pakete / Bibliotheken gespeichert sind? Es ist offensichtlich, dass es ein großes „Online-Repository“ geben muss, in dem der gesamte Code gespeichert ist. Die Antwort auf diese Frage lautet Python Package Index (PyPI).

PyPI ist das offizielle Software-Repository von Drittanbietern für Python. Zum Zeitpunkt des Schreibens dieses Artikels hatte PyPI bereits 95971-Pakete gehostet!
pip verwendet PyPI als Standardquelle für Pakete und ihre Abhängigkeiten. Also wann immer Sie tippen:

 pip install Paketname

pip sucht auf PyPI nach diesem Paket. Wenn es gefunden wird, lädt es das Paket herunter und installiert es auf Ihrem lokalen System.

In diesem Artikel werde ich zeigen, wie Sie Ihr eigenes Python-Paket auf PyPI veröffentlichen können, sodass es einzeilig installierbar und für alle anderen Python-Benutzer online leicht verfügbar ist! Ich werde das Beispiel eines Beispielpakets nehmen und Ihnen den gesamten Prozess zeigen. Das Beispielpaket wird auf Github gehostet .

Schritt 1: Bereiten Sie die Python-Skripte vor



Der erste Schritt besteht natürlich darin, Ihr Python-Programm (das Sie auf PyPI veröffentlichen möchten) fertig zu machen!

Es kann sich um ein beliebiges Python-Skript handeln. Hier verwende ich mein eigenes Python-Skript mit dem Namen ' locator.py ' (Ich verwende diesen Namen nur zu Referenzzwecken. Sie können Ihre Python-Skripte unter einem beliebigen Namen speichern.) Diese Datei ist hier verfügbar .

Schritt 2: Bereiten Sie die Paketverzeichnisstruktur vor

Dies ist der wichtigste Schritt. Jetzt müssen wir einer vordefinierten Struktur für das Verzeichnis unseres Pakets folgen.
Schauen Sie sich als Referenz das Github-Repository des Beispielprojekts an, das in diesem Tutorial verwendet wird. Sie können dieses Repository klonen und einige Änderungen vornehmen, um Ihr eigenes Paket zu erstellen.

Die Verzeichnisstruktur muss folgendermaßen aussehen:
Vorbereitung der Paketverzeichnisstruktur

Ok, lassen Sie uns diskutieren, was all diese Dateien enthalten werden.

  • setup.py: Dies ist die wichtigste Datei. In dieser Datei werden verschiedene Aspekte Ihres Projekts konfiguriert. Das Hauptmerkmal von setup.py ist, dass es eine globale setup() -Funktion enthält. Die Schlüsselwortargumente für diese Funktion geben an, wie bestimmte Details Ihres Projekts definiert werden.
    Sie müssen diese setuptools- Bibliothek mit pip installieren :
    pip install setuptools

    So sieht meine setup.py aus:



    filter_none

    bearbeiten
    schließen

    play_arrow

    Link
    Helligkeit_4
    Code

    from setuptools import setup
      
    with open('DESCRIPTION.txt') as file:
        long_description = file.read()
      
      
    REQUIREMENTS = ['requests']
      
    CLASSIFIERS = [
        'Development Status :: 4 - Beta',
        'Intended Audience :: Developers',
        'Topic :: Internet',
        'License :: OSI Approved :: MIT License',
        'Programming Language :: Python',
        'Programming Language :: Python :: 2',
        'Programming Language :: Python :: 2.6',
        'Programming Language :: Python :: 2.7',
        'Programming Language :: Python :: 3',
        'Programming Language :: Python :: 3.3',
        'Programming Language :: Python :: 3.4',
        'Programming Language :: Python :: 3.5',
        ]
      
    setup(name='mygmap',
          version='1.0.0',
          description='A small wrapper around google maps api',
          long_description=long_description,
          author='Nikhil Kumar Singh',
          author_email='nikhilksingh97@gmail.com',
          license='MIT',
          packages=['geo'],
          classifiers=CLASSIFIERS,
          install_requires=REQUIREMENTS,
          keywords='maps location address'
          )
    chevron_right
    
    
    filter_none
    
    

    Lassen Sie uns sehen, was verschiedene Argumente der Setup-Funktion bewirken:

    1. name : Dies ist der Name Ihres Projekts. Ihr Paket wird unter diesem Namen auf PyPI aufgeführt.
    2. version : Dies ist eine Zeichenfolge, in der Sie die aktuelle Version Ihres Projekts angeben können.
      Es liegt ganz bei Ihnen, wie Sie das Schema der Versionsreihe festlegen möchten (Sie können '1.0' oder '0.1' oder sogar '0.0.1' verwenden).
      Diese Version wird für jede Version auf PyPI angezeigt, wenn Sie Ihr Projekt veröffentlichen. Jedes Mal, wenn Sie eine neue Version hochladen, müssen Sie auch dieses Argument ändern.
    3. Beschreibung: Eine kurze Beschreibung des Pakets. Sie können das Argument long_description verwenden, um lange Beschreibungen zu schreiben.
    4. long_description: Wir können Rich Text zur besseren Beschreibung unserer Dateien verwenden. Das Standarddateiformat ist reStructuredText . Sie können sich DESCRIPTION.txt ansehen , um ein Gefühl für die Syntax zu bekommen.
    5. url: Eine Homepage-URL für Ihr Projekt. Dies erleichtert es den Menschen, Ihrem Projekt zu folgen oder dazu beizutragen.
    6. author, author_email: Details zum Autor
    7. Lizenz: Geben Sie den Lizenztyp an, den Sie verwenden.
    8. Klassifizierer: Dies ist eine Liste von Zeichenfolgen, in denen wir weitere Details zu unserem Projekt wie Entwicklungsstatus, Thema, Lizenz und unterstützte Python-Versionen für Ihr Projekt angeben können. Weitere Klassifikatoren finden Sie hier .
    9. install_requires: Hiermit können Sie angeben, welche Bibliotheken von Drittanbietern Ihr Paket ausführen muss. Diese Abhängigkeiten werden von pip installiert, wenn jemand Ihr Paket installiert.
    10. Schlüsselwörter: Listen Sie Schlüsselwörter auf, um Ihr Projekt zu beschreiben.
  • DESCRIPTION.txt : Diese Datei enthält die lange Beschreibung unseres Pakets, die auf der PyPI-Seite angezeigt werden soll. Wir verwenden hier das Dateiformat reStructuredText. Überprüfen Sie die Datei in unserem Paket verwendet hier .
  • LICENSE.txt : Es wird empfohlen , eine Lizenz für die Nutzung Ihres Projekts festzulegen . Sie können jede der frei verfügbaren Vorlagen verwenden. Am häufigsten wird die MIT- Lizenz verwendet.
    Die Lizenz, die ich für dieses Projekt verwende, finden Sie hier . (Sie können den Namen des Autors für die Verwendung dieser Lizenz in Ihren Projekten ersetzen.)
  • README.md : Diese Datei hat nichts mit unserem PyPI-Paket zu tun. Es enthält eine Beschreibung, die auf der Github-Seite angezeigt werden soll. Sie können es auch für die PyPI-Seite verwenden, es sind jedoch weitere Änderungen an unserem Code erforderlich. Lassen Sie es uns vorerst einfach halten.
  • __init__.py : Die Hauptverwendung von __init__.py ist die Initialisierung eines Python-Pakets.
    Die Aufnahme dieser Datei in ein Verzeichnis zeigt dem Python-Interpreter an, dass das Verzeichnis wie ein Python-Paket behandelt werden soll.
    Sie können diese Datei leer lassen.

Schritt 3: Erstellen Sie Ihre Konten
Jetzt ist es an der Zeit, ein Konto für PyPI zu erstellen und PyPI zu testen . Test PyPI ist nur eine Testseite, auf der wir zuerst unseren Code hochladen, um zu sehen, ob alles richtig funktioniert oder nicht.

Nachdem Sie Konten erstellt haben, erstellen Sie diese .pypirc- Datei im Ausgangsverzeichnis Ihres Systems und geben Sie die Kontodetails ein .

[distutils]
Index-Server =
  pypi
  pypitest
[pypi]
repository = https: //pypi.python.org/pypi
Benutzername = Ihr_Benutzername
Passwort = Ihr_Kennwort
[pypitest]
repository = https: //testpypi.python.org/pypi
Benutzername = Ihr_Benutzername
Passwort = Ihr_Kennwort

Hinweis : Wenn Sie sich auf einem Windows-System befinden, geben Sie einfach echo% USERPROFILE% in die Eingabeaufforderung ein, um das Ausgangsverzeichnis Ihres PCs zu ermitteln. Legen Sie die .pypirc- Datei dort ab.

Schritt 4: Laden Sie das Paket hoch

Endlich können wir unser Paket auf PyPI hochladen!

  • Zunächst prüfen wir, ob unser Paket auf Test PyPI korrekt installiert ist.
    Öffnen Sie die Eingabeaufforderung / das Terminal im Stammverzeichnis Ihres Pakets.
    Führen Sie dies im Terminal aus:
    python setup.py register -r pypitest

    Dadurch wird versucht, Ihr Paket auf dem PyPI-Testserver zu registrieren, um sicherzustellen, dass Sie alles korrekt eingerichtet haben.

    Führen Sie nun Folgendes aus:

    python setup.py sdist upload -r pypitest

    Sie sollten keine Fehler erhalten und Ihre Bibliothek jetzt auch im Test-PyPI-Repository sehen können .

  • Führen Sie nach dem erfolgreichen Hochladen auf PyPI Test dieselben Schritte aus, zeigen Sie jedoch stattdessen auf den aktiven PyPI-Server.
    Führen Sie Folgendes aus, um sich bei PyPI zu registrieren:

    python setup.py register -r pypi

    Dann renne:

    python setup.py sdist upload -r pypi

Und du bist fertig! Ihr Paket ist jetzt auf PyPI öffentlich verfügbar und kann einfach mit einem einfachen pip-Befehl installiert werden!
Das Paket, das wir mit diesem Tutorial erstellt haben, finden Sie hier .

Einfach am Terminal eingeben,

 pip installiere deinen_Paketnamen

um zu überprüfen, ob der Installationsvorgang erfolgreich abgeschlossen wurde.

Verweise:

Dieser Artikel wurde von Nikhil Kumar verfasst . Wenn Ihnen GeeksforGeeks gefällt und Sie einen Beitrag leisten möchten, können Sie auch einen Artikel mit Contrib.geeksforgeeks.org schreiben oder Ihren Artikel an Contribute@geeksforgeeks.org senden. Sehen Sie sich Ihren Artikel auf der GeeksforGeeks-Hauptseite an und helfen Sie anderen Geeks.

Bitte schreiben Sie Kommentare, wenn Sie etwas Falsches finden oder weitere Informationen zu dem oben diskutierten Thema teilen möchten.

Geeks-Digest-Img