Ich habe meine eigene Python-Bibliothek erstellt

Überblick

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.

Umgebung

Vielleicht spielt es keine Rolle, aber nur für den Fall.

Meine Verzeichnisstruktur

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

Was ich nicht implementiert habe

Befehlszeilenausführungsfunktion

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.

Version der Anforderungen

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

Was ich hinzugefügt habe

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

Beilage (oder besser gesagt, worüber ich gestolpert bin)

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.

Informationen zur Ordnerstruktur

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

Wie importieren Sie ...?

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.)

Was ist darin \ _ \ _!

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.

Andere

Was ist \ _ \ _ Pycache \ _ \ _?

Am Ende

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

Ich habe meine eigene Python-Bibliothek erstellt
Ich habe meine eigene Sprache gemacht. (1)
Ich habe meine eigene Sprache gemacht (2)
Ich habe meine eigene AML gemacht
[Python] Ich habe meine eigene Bibliothek erstellt, die dynamisch importiert werden kann
Ich habe versucht, meine eigene Python-Baseballbibliothek bei Packaging & PyPI zu veröffentlichen
Python> Ich habe einen Testcode für meine eigene externe Datei erstellt
Ich habe meinen eigenen primitiven statischen Site-Generator erstellt
Ich habe einen Blackjack mit Python gemacht!
Ich habe einen Python-Text gemacht
Ich habe mit Python einen Blackjack gemacht.
Ich habe Wordcloud mit Python gemacht.
Ich habe meinen eigenen Parallel Link Roboter (Software Edition) gemacht
Ich habe eine Python-Bibliothek erstellt, die einen rollierenden Rang hat
Ich habe meinen eigenen Parallelverbindungsroboter gebaut (mechanische Ausgabe)
Ich habe einen Line-Bot mit Python gemacht!
Ich habe mit Python eine Lotterie gemacht.
Ich habe mit Python einen Daemon erstellt
Ich habe eine Bibliothek erstellt, die Konfigurationsdateien mit Python einfach lesen kann
Ich habe mein eigenes Filter-Plug-In für Ansibles Textanalyse erstellt
Ich habe eine Python-Wrapper-Bibliothek für die Docomo-Bilderkennungs-API erstellt.
Ich habe Othello dazu gebracht, Kindern Python3 beizubringen (4)
Ich habe ein Pay-Management-Programm in Python erstellt!
Ich habe mit Python einen Zeichenzähler erstellt
Ich habe Othello dazu gebracht, Kindern Python3 beizubringen (2)
[Python] Registrieren Sie Ihre eigene Bibliothek in PyPI
Ich mache mein eigenes aws cli
Bis Sie Ihre eigene Python-Bibliothek installieren
Ich habe Othello dazu gebracht, Kindern Python3 beizubringen (5)
Ich habe mit Python eine Hex-Map erstellt
Veröffentlichen Sie Ihre eigene Python-Bibliothek auf Homebrew
Nachdem ich Python3 studiert hatte, machte ich einen Slackbot
Ich habe mit Python ein schurkenhaftes Spiel gemacht
Ich habe Othello dazu gebracht, Kindern Python3 beizubringen (3)
Ich habe Othello dazu gebracht, Kindern Python3 beizubringen (1)
Ich habe mit Python einen einfachen Blackjack gemacht
Ich habe mit Python eine Einstellungsdatei erstellt
Ich habe eine Bibliothek für versicherungsmathematische Versicherungen erstellt
Ich habe mit Python einen Neuronensimulator erstellt
Python 3.6 E-Mail-Bibliothek
Mein Numpy (Python)
Mein System (Python)
Mein Pyproj (Python)
Ich habe mein eigenes Recherchetool mit der Gesetzes-API [Smart Roppo] erstellt.
Mein str (Python)
Ich habe Python gestartet
Mein PySide (Python)
Python Library Hinweis
Mein Shutil (Python)
Meine Matplotlib (Python)
Ich habe weder die Fähigkeiten noch die Stärke, aber ich habe meinen eigenen Compiler erstellt
Meine Urllib (Python)
Mein Pyperclip (Python)
Mein sklearn (Python)
[Mein Memo] Python
Mein ConfigParser (Python)
Mein Webdriver (Python)