Also habe ich meine eigene Python-Bibliothek erstellt und darüber geschrieben, wie es geht. Da die Pioniere jedoch hervorragende Artikel schreiben, werde ich im Grunde die Teile schreiben, auf die ich gestoßen bin, und die Originalteile. Wenn Sie sich diesen Artikel ansehen
Ich denke schon, bitte schauen Sie mal.
Vielleicht spielt es keine Rolle, aber nur für den Fall.
Zunächst möchte ich, dass Sie sich meine Verzeichnisstruktur ansehen. Wenn Sie diesen Artikel lesen, werden Sie die Bedeutung dieser Struktur verstehen. ..
.
├── .gitignore
├── MANIFEST.in
├── README.md
├── package
│ ├── __init__.py
│ └── func.py
├── notebook
│ └── test.ipynb
├── requirements.txt
└── setup.py
Ich sagte das, aber in Wirklichkeit ist der größte Teil des Inhalts so, wie Sie aus diesem Artikel sehen können.
Lassen Sie uns eine Python-Verzeichnisstruktur erstellen, die Sie später nicht bereuen werden
Daher möchte ich in diesem Artikel einige Dinge hinzufügen, die ich nicht implementiert, hinzugefügt, ergänzt usw. habe. Außerdem lade ich es mit dieser Verzeichnisstruktur auf Github hoch. Wenn Sie möchten, sehen Sie bitte hier nach.
https://github.com/kotabrog/image_100
Der, den ich machen wollte, musste nicht in der Kommandozeile ausgeführt werden, also habe ich ihn gekürzt. Die abgekratzten sind wie folgt.
setup.py
entry_points = ...
pytest
Ich fand das gut, aber ich fragte mich, ob es jetzt notwendig war. Die abgekratzten sind wie folgt.
Ich denke, das hängt vom Fall ab, aber funktioniert es unabhängig von der Version? Zu dieser Zeit dachte ich, dass ich die Versionsinformationen nicht schreiben musste, also habe ich sie geschnitten. Ich kenne die Details nicht, habe mich aber gefragt, ob ich verhindern könnte, dass es aufgrund meiner eigenen Bibliothek in eine neue Version geändert wird, beispielsweise als ich es in einer etwas älteren Version implementieren musste. So sieht meine anforderungs.txt zum Beispiel so aus.
matplotlib
numpy
scikit-image
Notebook
Dies ist nicht für die Bibliothek gedacht, sondern für das Posten von so etwas oder das Posten des Testprozesses. Es ist nicht notwendig für die Bibliothek und die Dateigröße wird groß sein, daher denke ich, dass es freundlicher wäre, etwas in die Readme-Datei zu schreiben, damit Sie es löschen können.
Aus diesem Grund habe ich .gitignore Folgendes hinzugefügt.
.ipynb_checkpoints/
Brauchst du das? Ich dachte auch, aber es scheint, dass es besser ist, es nicht Git zu geben, weil es etwas stören könnte.
Entfernen Sie jupyter checkpoints-bezogene Dateien aus der Git-Verwaltung
Natürlich war der Artikel, auf den ich mich bezog, sehr leicht zu verstehen, aber ich werde darüber schreiben, was ich aufgrund meines Unwissens recherchiert habe. Wenn eine Person stolpert, haben 100 Personen einen Stolperstein (nein), so dass es sicherlich für jemanden nützlich ist.
Wie erstellen Sie eine andere allgemeine Ordnerstruktur als Ihre eigene Bibliothek? Weil es die Situation war, habe ich es auf verschiedene Weise als Referenz verwendet.
Projektstruktur Struktur des Projekts Ordnerstruktur bei der Analyse von Daten
Ich habe mich gefragt, wie ich die Funktion lesen soll, die ich aus einer anderen Datei gemacht habe, also werde ich sie zusammenfassen.
Modularisieren und verpacken Sie Ihre eigenen Funktionen mit Python Geben Sie das obere Verzeichnis / Unterverzeichnis durch relativen Import von Python an Verwendung von Python, Importieren (aus dem empfohlenen Stil von PEP8, Notizen usw.)
Ich wusste es nur irgendwie, also habe ich viel recherchiert.
Wenn \ _ \ _ all \ _ \ _ gesetzt ist,
from package import *
Wenn es jedoch schwierig ist, \ _ \ _ all \ _ \ _ selbst zu schreiben, gab es einen Code zum Schreiben in \ _ \ _ init \ _ \ _.
-Über \ _ \ _ all \ _ \ _-> Erklärung der Python-Spezialvariablen \ _ \ _ all \ _ \ _ durch aktive Ingenieure [für Anfänger]
Diese Methode funktioniert jedoch je nach Umgebung möglicherweise nicht. Der Grund ist, dass die Art und Weise, wie Verzeichnisse verbunden werden, zwischen Windows und Mac unterschiedlich ist ... (Warum konnten sie nicht vereinheitlicht werden ...) Also werde ich das umgeschriebene unter Bezugnahme auf das Folgende setzen.
Zeichenfolge mit Python teilen (Trennzeichen, Zeilenumbruch, regulärer Ausdruck, Anzahl der Zeichen)
__init__.py
import glob
import os
py_list = glob.glob('package/*.py')
__all__ = list(map(lambda file_path: os.path.basename(file_path).split('.', 1)[0], py_list))
__all__.remove('__init__')
Übrigens, wenn Sie dies tun, können Sie alles aufrufen. Wenn Sie also auswählen möchten, was Sie aufrufen möchten, sollten Sie es manuell schreiben oder die Dinge, die Sie nicht aufrufen möchten, in einer Datei zusammenstellen und aus allen löschen ... Es kann sein.
Was ist \ _ \ _ Pycache \ _ \ _?
Ich hatte also nicht die Fähigkeit, bessere Artikel als die Pioniere zu schreiben, also fühlte ich mich wie eine Zusammenfassung. Wenn es so etwas wie "Das ist anders!" Gibt, wäre ich dankbar, wenn Sie mich wissen lassen könnten.
Recommended Posts