Re: [Anleitung] Bearbeitbare Installationen

Am 26.08.24 um 12:42 schrieb Stefan Ram:
Viele Python-Programmierer kommen irgendwann einmal an den Punkt, daß sie ein selbstgeschriebenes Modul "meinmodul" in verschiedenen eigenen Projekten importieren wollen, die aber in anderen Verzeichnissen stehen.
In vielen Python-Büchern wird diese Thema leider kaum behandelt. Wenn man lange genug rumfragt, erfährt man, daß man eine "bearbeitbare Installation" mit
pip install -e <Pfad mit den Modulen>
erzeugen soll. Aber dafür soll man erst einmal eine "setup.py" or "pyproject.toml" anlegen. Hier habe ich dann noch ein Problem mit den "setuptools". Die soll ich auch erst einmal installieren ("Batteries included"?), aber wenn ich das dann mache (neueste Version!) und "import setuptools" ohne Fehlermeldung läuft, meldet pip weiterhin, daß ihm die setuptools fehlen . . .
Also, das macht mir so keinen Spaß! Es erinnert an Java. Nach etwas Probieren fand ich heraus, daß folgende Technik hier unter einer aktuellen Version von CPython zum Ziel führt:
Ich gehe in das "Lib/site-packages"-Verzeichnis der Python- Installation. Dort lege ich eine Datei mit der Endung ".pth" an, zum Beispiel "meinmodul.pth". In diese Datei schreibe ich eine Zeile mit dem Dateisystempfad des Verzeichnisses, in dem sich die Module befinden, die ich von überall her importieren können will. Fertig.!
Das ist so schön einfach - ich bin sicher, daß die Herrscher der Python-Welt es schon als "deprecated" markiert haben und bald entfernen werden . . .
Mein Schablone für Python Programm Anfänge: #!/usr/bin/python3 import os, sys, string sys.path.append("Name von meinem Standard Pythonverzeichnis") Ein Schattenverzeichnis mit symlinks halte ich wegen .pyc auch zweckmäßig, da Editoren auf die Originaldateien zugreifen, in grep -rn aber .pyc unerwünscht ist -- <http://www.hermann-riemann.de>

Hermann Riemann <nospam.ng@hermann-riemann.de> wrote:
Mein Schablone für Python Programm Anfänge:
#!/usr/bin/python3
import os, sys, string sys.path.append("Name von meinem Standard Pythonverzeichnis") Dafür wäre IMO das Setzen von PYTHONPATH im Environment die sinnvollere Methode.
-- Dipl.-Inform(FH) Peter Heitzer, peter.heitzer@rz.uni-regensburg.de
participants (2)
-
Hermann Riemann
-
Peter Heitzer