Erstellen Sie automatisch eine Python-Dokumentation mit Sphinx

Einführung

Hallo zusammen! Schreiben Sie Python? Ich erstelle derzeit einen Dienst mit Python + Django, aber da Sie mit Pythonista vertraut sind, wissen Sie, dass Python eine Dokumentzeichenfolge haben kann. Lassen Sie uns zum Beispiel ein einfaches Skript wie das folgende ausführen:

# -*- coding: utf-8 -*-
from __future__ import print_function


def foobar():
    u"Dies ist eine bedeutungslose Funktion."
    pass


print(foobar.__doc__)

In Python können Sie __doc__ das erste Zeichenfolgenliteral zuweisen, das in einer Funktion, Klasse oder Methode angezeigt wird, und später herausfinden, was diese Funktion bedeutet. Dies ist eine nette Funktion, aber es ist eine Verschwendung, wenn Sie nur aus Pythons interaktiven Konsolenbildschirmen, IDEs oder verschiedenen Plugins für Python zitieren können.

Wenn Sie also ein Dokumentwerkzeug namens "Sphinx" verwenden, das Pythonista häufig verwendet, wird dieser Docstring zu einem zusammengefügt. Dieser Befehl ist "Sphinx-Apidoc". Einzelheiten zur Verwendung finden Sie im Offiziellen Dokument. Hoffentlich wird ein Sphinx-Projekt gestartet.

Testen Sie jetzt bei der Probefahrt mit watchdog oder sniffer. Es scheint, dass viele Leute den Test jedes Mal anschließen und starten, wenn die Datei aktualisiert wird. Daher verwende ich das Dokument auch als Hook und generiere es automatisch.

Das Folgende ist ein Beispiel für einen Schnüffler.

@runnable
def execute(*args):
    from subprocess import call
    call('cd ../docs;make html', shell=True)
    return call(
        'python manage.py test users --failfast',
        shell=True) == 0

Unter Linux erstellt sphinx ein Makefile und erstellt die Dokumentation aus dem Befehl make. Wenn Sie solche Hooks erstellen, haben Sie immer die neueste Dokumentation zur Hand und können nach unbeabsichtigten Fehlern bei der reSt-Syntax suchen.

Denken Sie daran, dass es sehr ärgerlich sein kann, wenn Sie das Dokumentverzeichnis nicht als ".gitignore" -Datei in "Git" aufnehmen.

Natürlich können einige Leute es in einem Projekt in einer anderen Sprache verwenden, weil die Leistung bei der Dokumentenerstellung von Sphinx so gut ist, nicht in einem Python-Projekt. Einige Leute können es auch verwenden, um Materialien normal herzustellen. In einem solchen Fall ist die Kombination von "Schnüffler" + "Sphinx" sehr bequem und wird empfohlen. Natürlich können Sie auch andere Tools zur Verwaltung von Dateiaktualisierungen erstellen.

Recommended Posts

Erstellen Sie automatisch eine Python-Dokumentation mit Sphinx
Versuchen Sie, Python-Dokumente automatisch mit Sphinx zu generieren
Erstellen Sie eine Python3-Umgebung mit Ubuntu 16.04
Erstellen Sie mit direnv eine Python-Umgebung
Lassen Sie uns Git-Cat mit Python bauen
Kompilieren Sie die Sphinx-Dokumentation mit Wercker
Erstellen Sie eine MySQL + Python-Umgebung mit Docker
Erstellen Sie mlpy mit python3.3 (64bit) (Windows 64bit)
Erstellen Sie eine Python-Projektdokumentation in Sphinx
Erstellen Sie Vim mit MinGW. (+ lua, + python)
Erstellen Sie Python 1.0
Erstellen Sie mit Docker eine Jupyter Lab (Python) -Umgebung
HTML-Dokument Python-Programme mit Sphinx
Automatische vollständige JCG-Deckverteilung mit Python
Erste Schritte mit dem Dokumentationstool Sphinx
Erstellen Sie mit pyenv eine virtuelle Umgebung für Python
[Python] Betreiben Sie den Browser automatisch mit Selenium
Erstellen Sie mit Neovim eine moderne Python-Umgebung
Aufbau einer KI / maschinellen Lernumgebung mit Python
FizzBuzz in Python3
Scraping mit Python
Statistik mit Python
Scraping mit Python
Python mit Go
In Python integrieren
AES256 mit Python
Getestet mit Python
Python beginnt mit ()
mit Syntax (Python)
Bingo mit Python
Zundokokiyoshi mit Python
Excel mit Python
Mikrocomputer mit Python
Mit Python besetzen
Suchen und laden Sie YouTube-Videos automatisch mit Python herunter
Erstellen Sie eine Python-Umgebung mit pyenv auf EC2 (Ubuntu)
Erstellen Sie eine Python-Entwicklungsumgebung mit Visual Studio Code
Erstellen Sie eine Python-Umgebung mit ansible auf centos6
[Python] Erstellen Sie mit Docker eine Django-Entwicklungsumgebung
Erstellen Sie mit Sublime Text3 eine Python3-Build-Umgebung
Formatieren Sie Python-Code mit Emacs automatisch in PEP8-kompatiblen Code
Erstellen einer Python-Umgebung mit OSX Elcapitan
Erstellen Sie mit IntelliJ schnell eine Python Django-Umgebung
Erstellen Sie eine Python-Umgebung für maschinelles Lernen mit Containern
Erstellen Sie eine Python-Ausführungsumgebung mit VS-Code
Serielle Kommunikation mit Python
Zip, entpacken mit Python
Primzahlbeurteilung mit Python
Python mit Eclipse + PyDev.
Socket-Kommunikation mit Python
Datenanalyse mit Python 2
Scraping in Python (Vorbereitung)
Fügen Sie Bilder mit Python + α automatisch in Powerpo-Materialien ein
Versuchen Sie es mit Python.
Sequentielle Suche mit Python
"Objektorientiert" mit Python gelernt
Führen Sie Python mit VBA aus