Erstellen Sie ein Python-Modul

Es war unerwartet mühsam, es so einfach wie das Knotenpaketsystem zu machen.

Ein Projekt erstellen

Erstellen Sie ein geeignetes Verzeichnis.

mkdir mymodule && cd $_

Verwenden Sie virtualenv oder direnv, um die Systempython von der Python im Verzeichnis zu isolieren.

Für virtualenv virtualenv env Führen Sie für direnv "direnv edit." Und dann "layout python" in dem von Ihnen geöffneten Editor aus. Wenn Sie "Pip Freeze" ausführen und nur "wsgiref" angezeigt wird, ist die Umgebungskonstruktion abgeschlossen. Da es vom System-Pip isoliert ist, können Sie die erforderlichen Module frei pip-installieren.

Verzeichnisaufbau

.
├── .gitignore
├── LICENSE
├── MANIFEST.in
├── README.md
├── mymodule.py
├── setup.py
└── tests
    └── myplugin_test.py

.gitignore

Fügen Sie basierend auf Pythons .gitignore das env-Verzeichnis hinzu, wenn Sie virtualenv verwenden, und fügen Sie .direnv hinzu, wenn Sie direnv verwenden. gitignore/Python.gitignore

README.md

Eigentlich ist es besser, restructuredText zu verwenden, der mit PyPI formatiert und angezeigt wird, anstatt Markdown.

setup.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from __future__ import with_statement
from setuptools import setup

with open("README.md") as f:
    long_description = f.read()

setup(
    name="mymodule",
    version="0.1.0",
    description="hogehoge.",
    long_description=long_description,
    author="yourid",
    author_email="youremail",
    url="yoururl",
    py_modules=["mymodule"],
    include_package_data=True,
    install_requires=["Flask"],
    tests_require=["nose"],
    license="MIT",
    keywords="",
    zip_safe=False,
    classifiers=[]
)

py_modules gibt den Dateinamen des zu veröffentlichenden Moduls an. install_requires und tests_require schreiben abhängige Module aus. Abhängig vom Artikel kann hier "pip freeze" angegeben werden, aber es ist besser zu schreiben, ohne die Version manuell anzugeben, da es bis zur Version angegeben wird und wie eine Abhängigkeitshölle aussieht. classifiers wird aus [hier] ausgewählt (https://pypi.python.org/pypi?%3Aaction=list_classifiers).

MANIFEST.in

Standardmäßig sind nur Python-Dateien im Modul enthalten, daher ist dies erforderlich, um spezielle Textdateien einzuschließen. Schreiben Sie diesmal "include README.md", um README.md einzuschließen. Wenn Sie anforderungs.txt vorbereiten, müssen Sie diese auch hier beschreiben.

mymodule.py

Modulkörper. Schreiben Sie entsprechend.

tests/

Modultests. Schreiben Sie entsprechend. Schreib ordentlich.

Prüfung

Verwenden Sie die Nase. Geben Sie mit "Pip Install Nase". Die Ausführung ist "Nosetests"

Registrieren Sie sich bei PyPI und testen Sie PyPI

Registrieren Sie sich bei Test PyPI und PyPI. Erstellen Sie eine .pypirc-Datei in Ihrem Home-Verzeichnis und schreiben Sie die Registrierungsinformationen.

[distutils]
index-servers =
    pypi
    pypitest

[pypi]
repository: https://pypi.python.org/pypi
username: {{Nutzername}}
password: {{Passwort}}

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

Sobald das Modul abgeschlossen und der Test abgeschlossen ist, registrieren Sie python setup.py -r https: // testpypi.python.org / pypi, um das Paket zu registrieren, und python setup.py sdist upload -r https: // Registrieren Sie sich bei Test PyPI unter testpypi.python.org / pypi. Da es sich um eine Testseite handelt, können Sie sich immer mehr registrieren und testen. Wenn es ohne Probleme registriert ist, können Sie es mit pip install --index-url https: // testpypi.python.org / simple / mymodule installieren. Nachdem Sie getestet haben, ob es ordnungsgemäß mit Python auf dem System installiert werden kann, importieren und verwenden Sie es usw., registrieren Sie es im Produktions-PyPI.

Registrieren Sie das Modul in Production PyPI mit python setup.py register Sie können Module mit "python setup.py sdist upload" in das Produktions-PyPI hochladen.

Ende

ich habe das gemacht airtoxin/plugin-loader

Recommended Posts

Erstellen Sie ein Python-Modul
Erstellen Sie eine Python-Umgebung
Erstellen Sie ein Wox-Plugin (Python)
Erstellen Sie eine Funktion in Python
Erstellen Sie ein Wörterbuch in Python
Erstellen Sie ein Python-Numpy-Array
Erstellen Sie ein Verzeichnis mit Python
Erstellen Sie mit tkinter eine Python-GUI
Erstellen Sie einen DI-Container mit Python
Erstellen Sie eine Python-Umgebung auf dem Mac (2017/4)
Erstellen Sie eine virtuelle Umgebung mit Python!
Erstellen Sie eine Binärdatei in Python
Verwenden Sie Blender als Python-Modul
Erstellen Sie eine Python-Umgebung in Centos
Erstellen Sie ein universelles Dekorationsframework für Python
5 Möglichkeiten zum Erstellen eines Python-Chatbots
Erstellen Sie eine zufällige Zeichenfolge in Python
Python-Modul importieren
Python-Sammlungsmodul
Erstellen Sie ein neues numerisches Python-Berechnungsprojekt
Erstellen Sie mit Python + PIL ein Dummy-Image.
Erstellen Sie eine Python-Umgebung auf Ihrem Mac
Erstellen Sie eine einfache GUI-App in Python
Erstellen Sie ein Beziehungsdiagramm von Python-Modulen
Erstellen wir eine virtuelle Umgebung für Python
[Python] Erstellen Sie mit Anaconda eine virtuelle Umgebung
Erstellen wir mit Python eine kostenlose Gruppe
Python-Modul erstellen [CarSensor API-Unterstützungsmodul csapi]
Erstellen Sie mit dem Sympy-Modul ein Diagramm
[Python] Erstellen Sie eine Stapelumgebung mit AWS-CDK
[Python] [LINE Bot] Erstellen Sie einen LINE Bot mit Papageienrückgabe
Erstellen Sie mit Python 3.4 einen Worthäufigkeitszähler
Erstellen Sie eine Deb-Datei aus einem Python-Paket
[Python] Erstellen Sie einen LineBot, der regelmäßig ausgeführt wird
[GPS] Erstellen Sie eine kml-Datei mit Python
Erstellen Sie ein Kompatibilitätsbewertungsprogramm mit dem Zufallsmodul von Python.
Fehler beim Installieren eines Moduls mit Python pip
Erstellen Sie mit tkinter [Python] einen Rahmen mit transparentem Hintergrund.
[Python] Listenverständnis Verschiedene Möglichkeiten zum Erstellen einer Liste
Bearbeiten Sie Excel in Python, um eine Pivot-Tabelle zu erstellen
Ein * Algorithmus (Python Edition)
Erstellen Sie in 1 Minute eine Vim + Python-Testumgebung
Erstellen Sie einen Django-Zeitplan
Erstellen Sie eine GIF-Datei mit Pillow in Python
[Python] Machen Sie einen Screenshot
Erstellen Sie ein C-Array aus einer Python> Excel-Tabelle
[Python] Erstellen Sie eine Liste mit verschiedenen Zeichentypen
[Python] Erstellen Sie mehrere Verzeichnisse
Pythons Lambda-Ausdruck ...
Erstellen Sie Spatia Lite in Python
Erstellen Sie mit Minette für Python einen LINE BOT
Ich möchte mit Python ein Fenster erstellen
Erstellen Sie in Python ein Diagramm der Standardnormalverteilung
Import des Python-Originalmoduls
So erstellen Sie eine JSON-Datei in Python
Erstellen Sie eine virtuelle Umgebung mit conda in Python
Erstellen Sie eine neue Todoist-Aufgabe aus Python Script
Erstellen Sie eine Seite, die unbegrenzt mit Python geladen wird
[Hinweis] Erstellen Sie mit Python eine einzeilige Zeitzonenklasse