Ablauf beim Erstellen eines eigenen Pakets mit setup.py mit Python

Einführung

Es ist ein Ablauf, ein eigenes Paket mit setup.py mit Python zu erstellen. Ich hatte Schwierigkeiten mit dem Fehler "Modul nicht gefunden", daher möchte ich hier eine Notiz hinterlassen, damit ich sie nicht vergesse. Dieses Mal werde ich es nicht an PyPi usw. weitergeben, sondern einfach die Prozedur für die "Pip-Installation" in der lokalen Umgebung organisieren.

fließen

  1. Beschreiben Sie den Inhalt von "sample.py", "__init __. Py", "setup.py"
  2. Installieren Sie das Paket lokal mit pip install
  3. Schreiben Sie den Inhalt von foo.py und führen Sie ihn aus

Verzeichnisaufbau

Mit folgender Struktur

--Installieren Sie die in sample.py enthaltenen Funktionen mit pip install

Documents
└ tasks_project
  ├ src
  │   └ tasks
  │       ├ __init__.py
  │       └ sample.py     # sample.Ich möchte eine Funktion in py packen
  ├ hoge
  │   └ foo.py            # foo.Probe mit py.Führen Sie die py-Funktion aus
  └ setup.py

Da diese beiden Verzeichnisse Schwager sind, wird beim Importieren relativ zueinander der folgende Fehler angezeigt.

attempted relative import beyond top-level package.

Installieren Sie es also wie folgt mit pip, damit Sie es von überall importieren können.

Beschreiben Sie den Inhalt von "sample.py", "__init __. Py", "setup.py"

Inhalt von sample.py

Schreiben Sie in sample.py die gewünschte Funktion. Ich habe einfach so etwas geschrieben. Ich importiere verschiedene Module, weil ich überprüfen wollte, ob numpy und pandas richtig verwendet werden können.

import numpy as np
import pandas as pd
import datetime

def hello():
    print("hello_world")


def get_array():
    return np.array([1, 2, 3])


def get_df():
    return pd.Series([1, 2, 3])


def get_date():
    print(datetime.datetime(2019, 12, 1, 1, 1, 1))

Inhalt von __init __. Py

Ich habe das hier nicht geschrieben, daher vermute ich, dass ich den Fehler "Modul nicht gefunden" erhalten habe. Es ist so, als würde man einstellen, welche Funktion zum Zeitpunkt der Pip-Installation installiert werden soll.

from .sample import (
    hello,
    get_array,
    get_df,
    get_date,
)

__version__ = '0.1.0'

Inhalt von setup.py

Nehmen Sie die wichtigsten Einstellungen vor, wenn Sie "pip install" in "setup.py" ausführen. Im Folgenden denke ich, dass es in Ordnung ist, wenn Sie "Name", "Version", "Pakete" und "Paket_Dir" richtig schreiben.

"""Minimal setup file for tasks project."""

from setuptools import setup, find_packages

setup(
    name='tasks',
    version='0.1.0',
    license='proprietary',
    description='Module Experiment',

    author='greenteabiscuit',
    author_email='[email protected]',
    url='None.com',

    packages=find_packages(where='src'),
    package_dir={'': 'src'},
)

pip install

Wechseln Sie in das Verzeichnis eine Ebene über "task_project" (in diesem Fall "Documents") und führen Sie dann "pip install" durch.

$ cd Documents
$ pip install ./tasks_project/

Processing ./tasks_project
Building wheels for collected packages: tasks
  Building wheel for tasks (setup.py) ... done
..........Abkürzung..........
Successfully installed tasks-0.1.0

Wenn Sie "Erfolgreich installiert" sehen, sind Sie erfolgreich.

Beschreibe den Inhalt von foo.py und starte

import tasks

tasks.hello()

arr = tasks.get_array()
print(arr)

df = tasks.get_df()
print(df)

tasks.get_date()

Wenn Sie dies schreiben, sollten Sie es unten ausführen und fehlerfreie Ergebnisse erhalten.

$ cd Documents/hoge/
$ python foo.py

hello_world
[1 2 3]
0    1
1    2
2    3
dtype: int64
2019-12-01 01:01:01

Schließlich

Dies erleichtert das Schreiben von Testcode usw. ein wenig. Ich wollte es früher wissen, aber aus irgendeinem Grund konnte ich nicht viele gute Artikel finden. .. .. Ich verweise auf den Inhalt der folgenden Bücher.

Python Testing with pytest: Simple, Rapid, Effective, and Scalable (English Edition)

Recommended Posts

Ablauf beim Erstellen eines eigenen Pakets mit setup.py mit Python
Führen Sie die Intelligenz Ihrer eigenen Python-Bibliothek mit VScode aus.
[Python] Packen und verteilen Sie Ihre eigenen Module
Veröffentlichen Sie Ihre eigene Python-Bibliothek auf Homebrew
Erstellen Sie schnell Ihr eigenes Modul mit setuptools (Python)
Ablauf beim Erstellen einer virtuellen Umgebung mit Anaconda
Memo zum Erstellen einer eigenen Box mit Peppers Python
[Einführung in die Udemy Python3 + -Anwendung] 66. Erstellen einer eigenen Ausnahme
Rufen wir Ihre eigene C ++ - Bibliothek mit Python auf (Einstellungen)
Definieren Sie Ihre eigene Distanzfunktion mit k-Mitteln des Scikit-Lernens
Erstellen von BINGO "Web Tools" mit Python (Inhaltsverzeichnis)
Zusammenfassung des grundlegenden Ablaufs des maschinellen Lernens mit Python
Rufen Sie Ihr eigenes Python-Modul aus dem ROS-Paket auf
Ein Ei mit Python erstellen
Bis Sie Ihre eigene Python-Bibliothek mit pip installieren können
Versuchen Sie, Ihre eigenen Objekte mit Prioritätswarteschlangen in Python zu sortieren
Eine Aufzeichnung zum Patchen eines Python-Pakets
[Paketwolke] Verwalten Sie Python-Pakete mit der Paketwolke
[Python] Erstelle deinen eigenen LINE-Bot
[Python] Anmelden Ihres eigenen Moduls
Löse dein eigenes Labyrinth mit Q-Lernen
Erste Schritte mit Python Grundlagen von Python
Visualisieren Sie Python-Paketabhängigkeiten mit graphviz
Lebensspiel mit Python! (Conways Spiel des Lebens)
10 Funktionen von "Sprache mit Batterie" Python
[Einführung in Style GAN] Einzigartiges Lernen von Animation mit Ihrer eigenen Maschine ♬
Einführung des Python-Zeichenpakets Pygal
Implementierung der Dyxtra-Methode durch Python
Trainiere UGATIT mit deinem eigenen Datensatz
Koexistenz von Python2 und 3 mit CircleCI (1.0)
[Python] Erstellen mehrerer Fenster mit Tkinter
Löse dein eigenes Labyrinth mit DQN
Grundlegendes Studium von OpenCV mit Python
Analysieren Sie den Quellcode Ihrer eigenen einfachen Suchmaschine, die in Python geschrieben wurde, mit dem Code-Visualisierungstool "SOURCE TRAIL".
Rufen Sie mit Python eine Liste der in der aktuellen Umgebung installierten Pakete ab
Erstellen Sie mit Python + OpenCV Ihre eigene virtuelle Kamera und wenden Sie Originaleffekte an
Erläuterung zum Erstellen einer Anwendung zum Anzeigen von Bildern und Zeichnen mit Python
Grundlagen der binärisierten Bildverarbeitung durch Python
[Beispiel für eine Python-Verbesserung] Python mit Codecademy lernen
Erstellen einer einfachen Power-Datei mit Python
Ihr eigener Twitter-Client mit Django
Erstellen Sie Ihre eigenen Linux-Befehle in Python
[Stärkung des Lernens] DQN mit Ihrer eigenen Bibliothek
Erstellen Sie mit python3 eine Wortwolke aus Ihrem Tweet
Zweidimensionale Analyse des gesättigten und ungesättigten Permeationsflusses mit Python
[LLDB] Erstellen Sie Ihren eigenen Befehl mit Python
Führen Sie das Python-Skript mit TS-220 cron aus
Verwenden Sie einfach Ihre eigenen Funktionen in Python
Python-Installation und Paketverwaltung mit pip
Erstellen Sie mit Twisted Ihren eigenen DNS-Server
Hinweise beim Erstellen einer Umgebung mit Python
Überprüfen Sie die Existenz der Datei mit Python
Erstellen Sie mit SQLAlchemy Ihren eigenen zusammengesetzten Wert
Verstopft mit Python-Update der GCP-Konsole ①
Einfache Einführung der Spracherkennung mit Python
HTML-Dokument Python-Programme mit Sphinx
[Python] Registrieren Sie Ihre eigene Bibliothek in PyPI
Bis Sie Ihre eigene Python-Bibliothek installieren