Möglicherweise entwickeln Sie selbst etwas und modularisieren Klassen und Funktionen.
Durch Schreiben und Erstellen von setup.py
mit setuptools
test.py
import mylib
Sie können so etwas tun, aber wo Sie modularisieren möchten Ich möchte die minimal notwendigen Punkte als Memorandum zusammenfassen. Wenn Sie dies vorbereiten, können Sie es sehr schnell modularisieren.
Ich werde nur das erforderliche Minimum schreiben, daher sind die Details Offizielles Dokument. Bitte beziehen Sie sich auf.
Die Erklärung lautet wie folgt.
setup.py
.python setup.py
Das ist alles was du brauchst.
.py
)setup.py
--__init __. Py
(Vorher und nachher gibt es zwei Unterstriche)Dieses Mal haben wir unter der Annahme, dass wir ein Modul namens "mylib" erstellen, Folgendes vorbereitet.
tree .
setup.py
mylib
|-- __init__.py
|-- mylib.py
Dann schrieb ich die entsprechende Funktion in mylib.py
, die den Inhalt der Bibliothek darstellt, wie folgt.
mylib.py
class Test():
def __init__(self):
pass
def pt():
print("from class Test")
def test():
print('hello world')
――Welche Datei soll importiert werden?
Schreiben Sie einfach ein paar Zeilen darüber.
__init__.py
from .mylib import (
test,
Test,
)
__version__ = '0.0.0'
in diesem Fall,
Aus der Datei mylib.py
mit der Funktion test
Ich schreibe gerade eine Klasse namens "Test" in dieser Bibliothek.
setup.py
.setup.py
from setuptools import setup, Extension,find_packages
setup(
name = 'mylib',
packages=find_packages(where='mylib'),
package_dir={'': 'mylib'},
)
Das ist in Ordnung.
setup.py
aus.Die Python-Bibliothek ist eine gemeinsam genutzte Objektdatei (also Datei) Es wird im Python-Umgebungsordner gespeichert. Der Speicherort ist https://qiita.com/kenmaro/items/d589d32115154dcd26b2 Dieser Artikel bitte beziehen Sie sich auf.
Wenn Sie es in diesen Ordner legen, egal wo Sie "Python" ausführen
import mylib
Kann sein. Wenn du das machen willst
python setup.py install
Bitte ausführen.
Wenn Sie einen Ordner mit solchen Dateien in der Hierarchie erstellen möchten, in der sich setup.py
befindet, anstatt in diesem Ordner zu speichern
(Derzeit können Sie meine Bibliothek nur in dieser Hierarchie importieren.)
Ist
python setup.py build_ext --inplace
Kann sein.
Beispielsweise ruft Ihre eigene Bibliothek intern "tensorflow" auf. Ich denke, die meiste Zeit benutze ich andere Bibliotheken. Zu diesem Zeitpunkt ist die folgende Arbeit "plus" erforderlich.
--Erstellen Sie require.txt
.
setup.py
ein wenig.requirements.txt
In Anforderungen.txt
requirements.txt
tensorflow==2.2
Und so weiter, schreiben Sie die notwendigen Bibliotheken.
setup.py
from setuptools import setup, Extension,find_packages
def _requires_from_file(filename):
return open(filename).read().splitlines()
setup(
name = 'mylib',
packages=find_packages(where='mylib'),
package_dir={'': 'mylib'},
install_requires=_requires_from_file('requirements.txt'),
)
Schreiben Sie so. Versuchen Sie danach "python setup.py install" usw. wie zuvor.
Diesmal mit den minimal möglichen Schritten
Implementieren Sie Ihr eigenes Python-Modul mit setuptools
Ich versuchte es zu erklären.
Diesmal hier.
Ende.
Recommended Posts