User Tools

Site Tools


python_pakete

Das 101 der Python-Pakete

Momentan jonglieren wir mit PYTHONPATH, um unsere gesamten Module zusammenzuführen. Das ist ein heilloses durcheinander und führt zu Fehlern und unnützer Fehlersuche. Ziel ist es, ein Workflow zu definieren, der einen einfachen Umgang mit Paketen erlaubt.

Erste Schritte

Ein Paketname ist notwendig, z.B. “shopupdate”. Namen sollten keine Sonderzeichen und/oder Trennzeichen enthalten. Das git muss dann einen Unterordner enthalten, der genau diesen Namen trägt. Bsp: “shopUpdate/shopupdate”, dort werden dann alle Ordner und *.py-Dateien eingebunden. Die Vorarbeit ist damit abgeschlossen.

Es wird eine “setup.py” benötigt, die die setuptools von Python anspringt:

from setuptools import setup
PACKAGE = "shopupdate"
setup(name=PACKAGE, version='0.1', description='Peng', author='picalieke', author_email='picalieke@localhost', zip_safe=False, packages=[PACKAGE])

Verpackung

Als sehr einfache Variante nutzen wir ein 2-Schritt-System.

<HTML><ol></HTML>

  • Wir erzeugen einen Tarball mit den notwendigen Dateien $ python setup.py sdist, der wandert in das Verzeichnis dist
  • Den Tarball kopieren wir auf eine entfernte Maschine, wo dieser ausgepackt wird und lokal installiert wird $ python setup.py install –prefix=~/.local<HTML></ol></HTML>

Ab dann kann in python das Modul eingebunden werden, ohne das der PYTHONPATH angepasst werden muss.

from shopupdate.feed_parser import FeedParser

Skripte

Konfiguration und Skripte sind nicht im Modul enthalten, da diese vertrauliche Daten und/oder dynamisches mit sich bringen. Im Fall von shopupdate, muss folgende Verzeichnisstruktur lokal angelegt werden:

shopUpdate
 scripts
 settings
 

in scripts landet das “Programm”, dass das Modul verwendet, ggf. ein Wrapper, der einfach die main() aus dem Modul aufruft, dann mit entsprechenden Pfaden für die Konfiguration. In settings liegen dann die Konfigurationsdateien, für die spezielle Maschine.

Hinweise

Das Setup ist ultra-minimal, d.h. nur ein Skelett, für die wichtigsten Funktionen. Der Rest, Doku einbinden, etc. sollte alles nach und nach hier dokumentiert werden.

python_pakete.txt · Last modified: 2024/04/11 14:23 by 127.0.0.1