[Python] Packen und verteilen Sie Ihre eigenen Module

was ist das

Bei der Entwicklung als Team gibt es Fälle, in denen andere Personen Ihre eigenen Tools verwenden oder Ihre eigenen Module in Ihr Projekt integrieren möchten. In einem solchen Fall ist "Verpackung" zweckmäßig.

Ich werde später schreiben, wie man ein Paket heimlich in einem privaten Repository hostet.

(Zusatz) Es tut mir leid, das kann sein

Vorbereitung

Projektstruktur

Die folgende Erklärung wird unter der Annahme der folgenden Struktur geschrieben. Bitte spucken Sie die Anforderungsbeziehung mit Pip Freeze aus. Der Projektname lautet "uhouhoapp"

Verfahren

Beispiel für main.py.


def main():
    print('HelloWorld')

Vorbereitung von setup.py


#!/usr/bin/env python
# -*- coding: utf-8 -*-

from setuptools import setup, find_packages


def _load_requires_from_file(filepath):
    return [pkg_name.rstrip('\r\n') for pkg_name in open(filepath).readlines()]


def _install_requires():
    requires = _load_requires_from_file('requirements.txt')
    return requires


def _test_requires():
    test_requires = _load_requires_from_file('test-requirements.txt')
    return test_requires


def _packages():
    return find_packages(
        exclude=[
            '*.tests',
            '*.tests.*',
            'tests.*',
            'tests',
            '*.yaml'
        ],
    )


if __name__ == '__main__':
    description = ''
    setup(
        name='uhouhoapp',
        version='1.0.0',
        description=description,
        author='UhoUho Inc.',
        author_email='[email protected]',
        classifiers=[
            'Programming Language :: Python :: 2',
            'Programming Language :: Python :: 2.7',
            'Development Status :: 3 - Alpha',
            'License :: Confidencial',
            'Intended Audience :: Developers',
            'Natural Language :: English',
            'Operating System :: POSIX'
        ],
        packages=_packages(),
        install_requires=_install_requires(),
        tests_require=_test_requires(),
        test_suite='nose.collector',
        include_package_data=True,
        zip_safe=False,
        entry_points="""
        [console_scripts]
        uhouhoapp = uhouhoapp.main:main
        """,
    )

Wann zu verwenden

Wenn Sie den folgenden Befehl drücken, wird mein Modul registriert.


$ pip install -e .
Obtaining file:///Users/hiroyuki/test22
Installing collected packages: uhouhoapp
  Running setup.py develop for uhouhoapp
Successfully installed uhouhoapp-1.0.0

Als Befehl ausführen

Wenn Sie es ausführen möchten, gehen Sie wie folgt vor. Wenn Sie ein guter Kommandant sind, können Sie den Teil console_scripts von setup.py entfernen.

$ uhouhoapp
HelloWorld

Recommended Posts

[Python] Packen und verteilen Sie Ihre eigenen Module
So verpacken und verteilen Sie Python-Skripte
Python-Pakete und -Module
Importieren Sie Ihre eigenen Module mit der Python-Entwicklung von Grasshopper
Ablauf beim Erstellen eines eigenen Pakets mit setup.py mit Python
Lernen Sie Python-Pakete und -Module kennen
Rufen Sie Ihr eigenes Python-Modul aus dem ROS-Paket auf
[Python] Erstelle deinen eigenen LINE-Bot
[Python] Anmelden Ihres eigenen Moduls
Informationen zu Python Primer-Modulen und bedingten Ausdrücken
Python-Grundkurs (14 Module und Pakete)
[Python] Wenn Sie Ihr eigenes Paket im oberen Verzeichnis importieren und verwenden möchten
Erstellen Sie Ihre eigene Diagrammstrukturklasse und deren Zeichnung mit Python
Module und Pakete in Python sind "Namespaces"
Erstellen Sie Ihre eigenen Linux-Befehle in Python
[LLDB] Erstellen Sie Ihren eigenen Befehl mit Python
Python-Installation und Paketverwaltung mit pip
[Python] Registrieren Sie Ihre eigene Bibliothek in PyPI
Bis Sie Ihre eigene Python-Bibliothek installieren
Veröffentlichen Sie Ihre eigene Python-Bibliothek auf Homebrew
Holen Sie sich Ihre eigene IP-Adresse in Python
Erstellen Sie mit Python + OpenCV Ihre eigene virtuelle Kamera und wenden Sie Originaleffekte an
[Python] Implementieren Sie Ihre eigene listenähnliche Klasse mit collection.UserList
Erweitern und erweitern Sie Ihren eigenen Deep Learning-Datensatz
Erstellen Sie schnell Ihr eigenes Modul mit setuptools (Python)
Python: Verwenden Sie Ihre eigene Klasse für Numpy Ndarray
Ein Skript, das Ihre bevorzugten Python-Module und Binärdateien in einer einzigen Lambda-Ebene kombiniert
Memo zum Erstellen einer eigenen Box mit Peppers Python
Erstellen Sie Ihre eigenen Big Data in Python zur Validierung
Nehmen Sie Ihre eigene maximale Speichernutzung in Linux & Python
Erstellen Sie Ihr eigenes Random Dot Stereogram (RDS) in Python.
Versuchen Sie, Ihr eigenes Intro-Quiz mit Python zu verbessern
Rufen wir Ihre eigene C ++ - Bibliothek mit Python auf (Einstellungen)
[Blender x Python] Erstellen Sie Ihre eigene Funktion und Zusammenfassung
Verwenden Sie CASA Toolkit in Ihrer eigenen Python-Umgebung
Rufen Sie die aktuellen Standortinformationen und den Benutzeragenten in Python ab
[Road to Intermediate Python] Definieren Sie in Ihrer eigenen Klasse
Automatisieren Sie Chrome mit Python und Selen auf Ihrem Chromebook
Erhalten Sie ein abstraktes Verständnis der Python-Module und -Pakete
Machen Sie Jupyter Notebook zu Ihrem eigenen: Ändern Sie Hintergrund und Symbole
[Python] Komprimieren und dekomprimieren
Liste der Python-Module
Python Iterator und Generator
Hinweise zur Entwicklung von Python-Paketen
Python-Testpaket-Memo
Vue-Cli- und Python-Integration
Ruby, Python und Map
Python-IP-Adresse Paket Memo
Python-Eingabe und Ausgabe
Python und Ruby teilen sich
Python Package Manager-Vergleich
Python asyncio und ContextVar
Python> Link> PyUserInput-Paket |
Bis Sie Ihre eigene Python-Bibliothek mit pip installieren können
Versuchen Sie, Ihre eigenen Objekte mit Prioritätswarteschlangen in Python zu sortieren
Führen Sie die Intelligenz Ihrer eigenen Python-Bibliothek mit VScode aus.
Lassen Sie Python für Sie handeln, dann Ihre Augen und Ihr Gehirn ...