Ich werde das Verfahren zum Installieren Ihrer eigenen Bibliothek mit Python erklären. Es wird nicht in PyPI veröffentlicht und im Team verwendet. Name der Homebrew-Bibliothek: mylibrary
Die endgültige Verzeichnisstruktur lautet wie folgt.
./mylibrary
--- /mylibrary
---/__init__.py
file1.py
file2.py
--- /docs
/makefile
make.bat
index.rst
api.rst
page1.rst
---/_static
---/icon.png
----/_build
---/html
--- /example
---/example1.py
example2.py
lisence.txt
setpu.py
mylibrary Verzeichnis Platzieren Sie die Quelldatei.
__docs Verzeichnis __ Das Verzeichnis, in dem sich die Bibliotheksdokumentation befindet. Es ist zum Zeitpunkt der Erstellung ein leeres Verzeichnis. Nach dem Erstellen der Quelldatei wird Sphinx verwendet, um automatisch ein Dokument aus der Dokumentzeichenfolge in der Quelle zu erstellen.
__examplede Verzeichnis __ Ich werde den Beispielcode der Bibliothek einfügen.
__setpu.py Datei __ Diese Datei beschreibt die Konfiguration zum Zeitpunkt der Installation.
__Andere erforderliche Dateien __ license.txt Eine Datei, die die Lizenz beschreibt.
Erstellen Sie beim Erstellen einer Bibliothek eine \ __ init__.py-Datei. Durch Erstellen einer \ __ init__.py-Datei können Sie Klassen und Funktionen in die Bibliothek importieren, ohne absolute Pfade zu verwenden.
notexist__init__.py
#__init__.Bei der Installation ohne py zu erstellen
from mylibrary.file1 import class1
Sie können die Klasse nur importieren, wenn Sie den Namen des Ordners in der Bibliothek beschreiben, in der die Klasse beschrieben wird.
_exist_init__.py
#__init__.Wenn Sie py erstellen
from mylibrary import class1
Sie können die Klasse nach Bibliotheksname + Klassenname importieren. _init_.py
__init__.py
from .file1 import class1
from .file2 import class2
from .file3 import *
__copyright__ = 'Copyright (C) 2018 Your Name'
__version__ = '1.0.0'
__license__ = 'BSD-3-Clause'
__author__ = 'Your Name'
__author_email__ = 'Your@Email'
__url__ = 'http://github.com/account/repository'
Führen Sie die zu installierende Setup-Funktion von setpy.py aus. Fügen Sie die erforderlichen Informationen zum Zeitpunkt der Installation hinzu. https://qiita.com/shinichi-takii/items/6d1063e0aa3f79e599f0 _init_.py
setup.py
from setuptools import setup
from os import path
import re
package_name = "Paketnamen"
root_dir = path.abspath(path.dirname(__file__))
def _requirements():
return [name.rstrip() for name in open(path.join(root_dir, 'requirements.txt')).readlines()]
def _test_requirements():
return [name.rstrip() for name in open(path.join(root_dir, 'test-requirements.txt')).readlines()]
with open(path.join(root_dir, package_name, '__init__.py')) as f:
init_text = f.read()
version = re.search(r'__version__\s*=\s*[\'\"](.+?)[\'\"]',init_text).group(1)
license = re.search(r'__license__\s*=\s*[\'\"](.+?)[\'\"]',init_text).group(1)
author = re.search(r'__author__\s*=\s*[\'\"](.+?)[\'\"]',init_text).group(1)
author_email = re.search(r'__author_email__\s*=\s*[\'\"](.+?)[\'\"]',init_text).group(1)
url = re.search(r'__url__\s*=\s*[\'\"](.+?)[\'\"]',init_text).group(1)
Es ist eine gute Idee, den Docstring im Google- oder Numpy-Stil zu schreiben. https://qiita.com/11ohina017/items/118b3b42b612e527dc1d
Installieren Sie sphinx mit pip. https://qiita.com/futakuchi0117/items/4d3997c1ca1323259844 Geben Sie dann den folgenden Befehl in das Verzeichnis ./mylibrary ein (das die Quelle nicht enthält).
sphinx-quickstart docs
Geben Sie nur den Namen des Projekts und den entsprechenden Autor ein, andernfalls gibt es standardmäßig kein Problem.
Wechseln Sie in das __docs-Verzeichnis __ Ich denke, die Datei conf.py wurde erstellt. __ Dies ist eine Datei, die die von Sphinx erstellten HTML-Einstellungen beschreibt. __ __
setup.py
import os
import sys
#Quellverzeichnis hinzufügen
sys.path.insert(0, os.path.abspath('../mylibrary'))
#Aktivieren Sie die Funktion zum Erstellen von Dokumentzeichenfolgen
extensions = ['sphinx.ext.autodoc', 'sphinx.ext.napoleon','sphinx.ext.viewcode',
]
#Auswahl des HTML-Themas
html_theme = "blue"
Wie man setu.py schreibt, ist flask hilfreich. https://github.com/pallets/flask/blob/master/docs/conf.py Sie können Ihr Lieblings-HTML-Thema von der folgenden Website herunterladen. https://sphinx-themes.org/
Erstellen Sie eine API-Referenz.
sphinx-apidoc -f -o ./docs .
Auf diese Weise kann Sphinx das Verzeichnis ./mylibrary scannen, in dem sich die Quelldateien befinden, und die Klassen für Sie extrahieren.
Möglicherweise möchten Sie Klassen in Apidoc aufteilen, die nicht als APIs verfügbar gemacht werden müssen, oder sie für jede Klasse in separate Seiten aufteilen, anstatt sie in Apidoc zu gruppieren. In diesem Fall bearbeiten wir die erste Datei Das Bearbeiten der ersten Datei ist einfach und entfernt unnötige Klassen aus der Klassenliste in apidoc.
__ Fügen Sie außerdem den Link aus der Datei index.rst in apidoc ein .__ __ Wenn Sie dies vergessen, wird beim Erstellen von Sphinx keine API-Referenz erstellt. __
index.rst
.. toctree::
:maxdepth: 2
:caption: Contents:
apidoc
Erstellen Sie eine HTML-Datei im Verzeichnis docs.
make html
#machen für Fenster.bat html
Dadurch wird eine von Sphinx erstellte HTML-Seite in docs / _build / html erstellt. Sie können dieses Verzeichnis als API-Referenzseite verwenden, indem Sie es auf netlify oder github veröffentlichen. Wenn Sie eine schönere API-Referenz erstellen möchten, können Sie auf die erste Methode zur Dateierstellung von falsk verweisen. https://github.com/pallets/flask/tree/master/docs
Sie müssen lediglich die Bibliothek installieren.
python setup.py install
Danke für deine harte Arbeit!
Recommended Posts