Bester Standardspeicherort für freigegebene ObjektdateienPython

Python-Programme
Guest
 Bester Standardspeicherort für freigegebene Objektdateien

Post by Guest »

Ich habe C-Code kompiliert, der von einem Python-Skript aufgerufen werden soll. Natürlich kann ich es mit cdll.LoadLibrary("./whatever.so") einbinden, aber ich würde es vorziehen, wenn es für alle Python-Skripte in verschiedenen Ordnern zugänglich wäre. Die Idee ist, dass ich Standardpfade für gemeinsam genutzte Objekte verwende und dafür keine Umgebungsvariablen oder Systemdateien ändere.
Laut einer der Antworten zum Warum Kann Python keine gemeinsam genutzten Objekte finden, die sich in Verzeichnissen in sys.path befinden? /usr/local/lib sollte funktionieren. /etc/ld.so.conf.d/libc.conf enthält nämlich diesen Ordner. Also habe ich sudo cp -a whatever.so /usr/local/lib und sudo ldconfig verwendet. Allerdings findet cdll.LoadLibrary("whatever.so") die Datei nicht.
Anderen Vorschlägen folgend habe ich python -m site ausgeführt und /usr/local/lib steht leider nicht auf der Liste. Wahrscheinlich ist das dritte Element, /usr/lib/python3.9, die beste Wahl, aber wie kann ich es automatisch im Befehl cp auswählen?
Zusammenfassend lässt sich sagen: Gibt es einen guten Standardort zum Ablegen gemeinsam genutzter Objekte (

Code: Select all

.so
), ohne Umgebungsvariablen und/oder Systemdateien ändern zu müssen, und wie kann ich es automatisch auswählen? [Ich möchte einen solchen Makefile-Code schreiben, der das kompilierte gemeinsame Objekt in den Pfad einfügt.]

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post