Erstellen Sie in Python ein Paket mit globalen Befehlen

Ich habe ein Paket mit globalen Befehlen in Python erstellt, so dass Memo.

Globale Befehle sind Befehle an Orten wie / usr / local / bin /, die sich normalerweise im PATH befinden. Der Zweck besteht darin, beliebige Befehle in / usr / local / bin / with pip installieren zu können. Wird besorgt.

Umgebung

Verfassung

myapp/
  ├ setup.py
  └ myapp/
    ├ __init__.py
    └ main.py

Inhalt von setup.py

import setuptools 

if __name__ == "__main__":
    setuptools.setup(
        name='myapp',
        version='0.0.1',
        packages=setuptools.find_packages(),
        entry_points={
            'console_scripts':[
                'myapp = myapp.main:main',
            ],
        },
    )

entry_points gibt die auszuführende Datei und Funktion an. 'myapp = myapp.main: main' bedeutet, dass beim Ausführen einer ausführbaren Datei namens myapp die Hauptfunktion in myapp / main.py aufgerufen wird.

Verwenden Sie "setuptools.find_packages ()", um das Verzeichnis mit "__init __. Py" in das Paket aufzunehmen.

Inhalt von main.py, in dem die tatsächlich auszuführende Funktion gespeichert ist

import sys

def main():
    print(sys.argv)

Paket erstellen

$ python setup.py sdist

Damit ist der Paketkörper dist / myapp-0.0.1.tar.gz und Ein Metadatenverzeichnis myapp.egg-info / wird erstellt.

Installationspaket

$ sudo pip install dist/myapp-0.0.1.tar.gz

In meiner Mac OS X-Umgebung wurden die folgenden Dateien installiert

  /Library/Python/2.7/site-packages/myapp-0.0.1-py2.7.egg-info
  /Library/Python/2.7/site-packages/myapp/__init__.py
  /Library/Python/2.7/site-packages/myapp/__init__.pyc
  /Library/Python/2.7/site-packages/myapp/main.py
  /Library/Python/2.7/site-packages/myapp/main.pyc
  /usr/local/bin/myapp

Sie können sehen, dass die ausführbare Datei in / usr / local / bin / myapp registriert ist

Funktionsprüfung

Jetzt können Sie den Befehl myapp von überall aus eingeben

$ myapp hoge bar
['/usr/local/bin/myapp', 'hoge', 'bar']

Recommended Posts

Erstellen Sie in Python ein Paket mit globalen Befehlen
Erstellen Sie eine Funktion in Python
Erstellen Sie ein Wörterbuch in Python
Erstellen Sie einen DI-Container mit Python
Erstellen Sie eine Binärdatei in Python
Erstellen Sie eine zufällige Zeichenfolge in Python
Erstellen Sie Ihre eigenen Linux-Befehle in Python
Erstellen Sie eine einfache GUI-App in Python
Erstellen Sie eine Deb-Datei aus einem Python-Paket
[GPS] Erstellen Sie eine kml-Datei mit Python
Erstellen Sie in 1 Minute eine Vim + Python-Testumgebung
Erstellen Sie eine GIF-Datei mit Pillow in Python
Lesen Sie eine Datei mit verstümmelten Linien in Python
Erstellen Sie ein Python-Modul
Erstellen Sie Spatia Lite in Python
Ich möchte mit Python ein Fenster erstellen
Erstellen Sie in Python ein Diagramm der Standardnormalverteilung
So erstellen Sie eine JSON-Datei in Python
Erstellen Sie eine virtuelle Umgebung mit conda in Python
Erstellen Sie in Python ein einfaches Momentum-Investmentmodell
Erstellen Sie eine neue Seite im Zusammenfluss mit Python
Erstellen Sie ein Datum / Uhrzeit-Objekt aus einer Zeichenfolge in Python (Python 3.3).
Erstellen Sie eine Python-Umgebung
Erstellen Sie eine MIDI-Datei in Python mit pretty_midi
Erstellen Sie in KiCad ein Rahmenantennenmuster in Python
[Docker] Erstellen Sie in 3 Minuten eine jupyterLab (Python) -Umgebung!
Erstellen Sie mit Selenium einen Datenerfassungsbot in Python
[LINE Messaging API] Erstellen Sie mit Python ein umfangreiches Menü
Erstellen Sie ein Plug-In, das Python Doctest auf Vim ausführt (2)
Erstellen Sie ein Plug-In, um Python Doctest mit Vim (1) auszuführen.
Erstellen Sie in Python einen Dekorator, der Argumente dynamisch akzeptiert. Erstellen Sie einen Dekorator
Erstellen Sie mit Quarry einen gefälschten Minecraft-Server in Python
Machen Sie einen Screenshot in Python
Erstellen Sie ein Wox-Plugin (Python)
Führen Sie Shell-Befehle in Python aus
Erstellen Sie ein Lesezeichen in Python
Erstellen Sie ein Python-Numpy-Array
Zeichne ein Herz in Python
Erstellen Sie ein Verzeichnis mit Python
Erstellen Sie einen lokalen Bereich in Python, ohne den Namespace zu verschmutzen
Erstellen Sie ein untergeordnetes Konto für die Verbindung mit Stripe in Python
Erstellen wir ein Skript, das sich bei Ideone.com in Python registriert.
Erstellen Sie den Code, der in Python "A und vorgeben B" ausgibt
Eine Aufzeichnung zum Patchen eines Python-Pakets
Wahrscheinlich in einer Nishiki-Schlange (Originaltitel: Vielleicht in Python)
Schreiben Sie eine Dichotomie in Python
[Python] Verwalten Sie Funktionen in einer Liste
Suchen Sie mit Python nach externen Befehlen
Drücken Sie einen Befehl in Python (Windows)
8 häufig verwendete Befehle in Python Django
Erstellen Sie mit Flask einen CSV-Reader
Erstellen Sie mit tkinter eine Python-GUI
Erstellen Sie eine Python-Umgebung auf dem Mac (2017/4)
Zeichnen Sie eine Streudiagrammmatrix mit Python
GPyOpt, ein Paket zur Bayes'schen Optimierung in Python
So erstellen Sie ein Conda-Paket
Erstellen Sie eine virtuelle Umgebung mit Python!