[PYTHON] Registrieren Sie das Paket bei PyPI

Da ich das Paket zum ersten Mal bei PyPI registriert habe, werde ich zusammenfassen, was ich getan habe.

aktiviere setup.py

Die Verzeichnisstruktur ist so einfach wie es nur geht.

.
├── LICENSE.txt
├── README.md
├── nbupload
│   ├── FileUploaderView.js
│   ├── FileUploaderWidget.py
│   └── __init__.py
└── setup.py

Da es Git verwaltet, schließen Sie auch [.gitignore für Python] ein (https://github.com/github/gitignore/blob/master/Python.gitignore).

Schreiben Sie eine minimale setup.py. packages = ['nbupload'] ist eine Möglichkeit, einen Verzeichnisnamen als Paket zu schreiben. Weitere Informationen finden Sie unter Dokumentation.

from setuptools import setup

setup(
    name = "nbupload",
    version = "0.0.1",
    packages=['nbupload'],
)

mit diesem,

python setup.py develop

Wenn Sie eingeben, wird es für die Entwicklung installiert und Sie können es normal importieren. Tatsächlich befand sich im Verzeichnis site-packages von Python eine Datei mit dem Namen nbupload.egg-link, und der Pfad zum Paketverzeichnis wurde in diese Datei geschrieben.

Deinstallieren

python setup.py develop -u

Das ist gut.

Registrieren Sie sich bei pypi

Da setup.py oben einsam ist, verschiedene hinzufügen.

Wenn Sie kein Pypi-Konto haben, besorgen Sie sich eines. Es gibt auch ein Testpypi für den Paketregistrierungstest, also registrieren Sie dort auch ein Konto. Bitte beachten Sie, dass das zu registrierende Passwort im Klartext im Home-Verzeichnis abgelegt werden muss (obwohl es sofort gelöscht werden kann).

Ich bin der Meinung, dass das Passwort aus 16 Zeichen oder mehr bestehen muss und es keine Groß- oder Kleinbuchstaben gibt. Die OpenID von Google kann nicht verwendet werden, da Google keine neuen Registrierungen mehr unterstützt.

Erstellen Sie .pypirc in Ihrem Home-Verzeichnis. (Wenn Sie sich nur in pypi registrieren, müssen Sie dies nicht eingeben (?). Wenn Sie jedoch testpypi haben, müssen Sie dies eingeben.)

Ich habe auf [hier] verwiesen (http://peterdowns.com/posts/first-time-with-pypi.html).

[distutils]
index-servers =
    pypi
    pypitest

[pypi]
repository: https://pypi.python.org/pypi
username: {{your_username}}
password: {{your_password}}

[pypitest]
repository: https://testpypi.python.org/pypi
username: {{your_username}}
password: {{your_password}}

Registrieren Sie sich bei testpypi.

python setup.py register -r https://testpypi.python.org/pypi

Dadurch wird ein Element in pypi erstellt, das auch in "pip search --index https://testpypi.python.org/pypi nb upload" angezeigt wird.

Da es jedoch noch nirgendwo ein aktuelles Paket gibt, muss ich gzip hochladen. Sie können auch download_url in setup.py schreiben und das gzip des github-Tags angeben. Standardmäßig ignoriert pip install andere URLs als pypi (wenn Sie --allow-external hinzufügen, wird es übergeben). Es ist besser, auf pypi selbst hochzuladen. Der folgende Befehl macht das.

python setup.py sdist upload -r https://testpypi.python.org/pypi

Sie können es jetzt mit pip install --index-url https://testpypi.python.org/simple/nbupload installieren.

Wenn Sie dies bisher tun können, müssen Sie sich nur für die Produktions-Pypi registrieren.

python setup.py register
python setup.py sdist upload

Es endet mit.

Bonus: Nehmen Sie Nicht-Python-Dateien in das Paket auf

Dieses Mal muss JS in das Paket aufgenommen und verteilt werden, also musste ich dies in setup.py schreiben.

    package_data = {
        'nbupload': ['FileUploaderView.js'],
    },

Wenn Sie dies nicht tun, enthält das Paketieren mit "python setup.py sdist upload" standardmäßig keine Nicht-Python-Dateien.

Recommended Posts

Registrieren Sie das Paket bei PyPI
So registrieren Sie ein Paket in PyPI (Stand September 2017)
So registrieren Sie sich bei pypi
Ich möchte ein beliebtes Paket auf PyPi finden
Erstellen Sie einen Pypi-Cache-Server auf QNAP
[Python] Registrieren Sie Ihre eigene Bibliothek in PyPI
Erzeugt halbautomatisch eine Beschreibung des Pakets, das in PyPI registriert werden soll
Ich mag es, sobald eine Antwort auf Twitter kommt
Ein Memo, das in einem Paket erstellt und in PyPI registriert wurde
Python-Anfänger waren süchtig danach, ihre eigenen Pakete in der PyPI-Version vom Februar 2017 zu registrieren
Visualisieren Sie die internen Paketbeziehungen von Go auf Commit-by-Commitment-Basis
Verwendung von Fujifilm X-T3 als Webcam unter Ubuntu 20.04
Ein Memorandum zur Registrierung der in Hy in PyPI geschriebenen Bibliothek
Holen Sie sich die Paketversion, um sich bei PyPI von Git zu registrieren
[Java] Entwicklung des Spigot-Plug-Ins - Registrieren Sie den Befehl als Vanilla-Befehl
Ein Kommentar zum Boruta-Algorithmus
Verwenden Sie Remotte als Benutzer
Erstellen Sie ein Klassenzimmer auf Jupyterhub
Führen Sie eine Java-App aus, die sich in AWS EC2 als Daemon befindet
PyPI-Paket für die supereinfache Verwendung von Cotoha in Google Colab
Ich habe versucht, einen Sender auf der IoT-Plattform "Rimotte" zu registrieren.
So stellen Sie eine Webanwendung in der Alibaba Cloud als Freiberufler bereit