Wie man an diesem StackOverflow-Thread sieht, gibt es zich Varianten, wie man die Dateien und Imports eines Pyton Projekt strukturiert und wie man das Projekt letztendlich startet. Durch die Fülle der Varianten bin ich ziemlich verwirrt und die Wahl fällt mir schwer.
Spezifisch zu diesem Forum, wäre meine Frage, welche der Varianten wohl am Debian (und/oder GNU/Linux) kompatibelsten ist. In ferner Zukunft soll aus dem Projekt ein deb-Paket werden, welches in noch fernerer Zukunft dann auch noch im offiziellen Debian-repository landet. Welche Projektstruktur und Start-Varianten sind hier vorgegeben?
Mein Projekt ist eine relativ simple Gtk-Desktop-Applikation.
Es gibt eine __init__.py und eine __main__.py. Die imports sind relativ.
Es gibt (noch) keine setup.py und auch kein virtuelles environment.
Aktuell nutze ich vim zum Coden und starte alles auf der bash mit einem simplen python3 -m feedybus.
Aktuelles Ereignis, dass mich auf diese Frage brachte war, dass ich mal eric4 als IDE ausprobieren wollte. Diese zwingt einem aber scheinbar eine main.py als Start-Script auf und kann mit python3 -m nix anfangen. Der Rat dort war, ich solle mein Projekt in PYTHONPATH bekannt machen. Hier bin ich mir sehr unsicher, aber vermute Konfliktpotential - da ich auch sehr allgemeingültige Dateinamen verwendet, wie z.B. basics.py, config.py - was bei relativen imports IMO kein Problem darstellt. Ich müsste meine gesamten relativen imports in globale imports verwandeln. Woher weiß ich den, ob da nicht noch ein anderes basics Paket im System schlummert.
[gelöst] Python 3: Debian taugliche Projektstruktur
[gelöst] Python 3: Debian taugliche Projektstruktur
Zuletzt geändert von buhtz am 27.11.2018 13:46:04, insgesamt 1-mal geändert.
Debian 11 & 12; Desktop-PC, Headless-NAS, Raspberry Pi 4
Teil des Upstream Betreuer Teams von Back In Time (backintime)
Teil des Upstream Betreuer Teams von Back In Time (backintime)
Re: Python 3: Debian taugliche Projektstruktur
Hallo,
python Pakete würde ich generell über python setuptools paketieren.
Wenn Du dann noch ein Debian Paket daraus bauen willst, dann solltest Du Dir https://wiki.debian.org/Python/LibraryStyleGuide dazu ansehen.
Ciao
Stefan
python Pakete würde ich generell über python setuptools paketieren.
Wenn Du dann noch ein Debian Paket daraus bauen willst, dann solltest Du Dir https://wiki.debian.org/Python/LibraryStyleGuide dazu ansehen.
Ciao
Stefan
Bürokratie kann man nur durch ihre Anwendung bekämpfen.
Re: Python 3: Debian taugliche Projektstruktur
Das dachte ich mir schon soweit. Aber wie gesagt, Paketierung kommt später. Konnte in den verlinkten Dokumenten auch keinen direkten Hinweis darauf finden, wie eine Python3-Application in Debian gestartet wird.
Mir fällt gerade kein Beispiel ein, aber wenn ich per apt eine Anwendung installiere, die mit Python geschrieben wurde, taucht diese in meinem Start-Menü (z.B. in XFCE) auf. Welcher Aufruf liegt hinter diesem Menü-Eintrag? Wie erwartet Debian Python-Anwendungen zu starten - es gibt ja kein binary?
Mir fällt gerade kein Beispiel ein, aber wenn ich per apt eine Anwendung installiere, die mit Python geschrieben wurde, taucht diese in meinem Start-Menü (z.B. in XFCE) auf. Welcher Aufruf liegt hinter diesem Menü-Eintrag? Wie erwartet Debian Python-Anwendungen zu starten - es gibt ja kein binary?
Debian 11 & 12; Desktop-PC, Headless-NAS, Raspberry Pi 4
Teil des Upstream Betreuer Teams von Back In Time (backintime)
Teil des Upstream Betreuer Teams von Back In Time (backintime)
Re: Python 3: Debian taugliche Projektstruktur
Hi,
wenn es Dir um ausführbare Scripte geht - das geschieht bei setuptools mittels entry_points.
Siehe dazu https://setuptools.readthedocs.io/en/la ... t-creation
Ciao
Stefan
wenn es Dir um ausführbare Scripte geht - das geschieht bei setuptools mittels entry_points.
Siehe dazu https://setuptools.readthedocs.io/en/la ... t-creation
Ciao
Stefan
Bürokratie kann man nur durch ihre Anwendung bekämpfen.