Benuterdefinierte Installations-Verzeichnisse

Probleme bei der Installation?
Antworten
Cator Canulis
User
Beiträge: 3
Registriert: Samstag 6. Dezember 2014, 18:57

Hallo zusammen,

ich möchte Python kompilieren (funktioniert) und in meinem Home-Verzeichnis installieren (klappt nur bedingt).

Das configure-Script bietet ja eine Möglichkeiten, das Installationsverzeichnis zu ändern. Mit --prefix=$HOME/Python funktioniert die Installation.

Allerdings würde ich auch gerne die Unterverzeichnisse mit benutzerdefinierten Namen anlegen.

bin -> Executables
include -> Headers
lib -> Libraries
man -> Documentation

Das configure-Script hat dafür mehrere Optionen, die teils ignoriert werden. Beispielsweise gibt es nach Ausführen von make install "Executables" aber auch "bin", welches pip enthält.

Teilweise kann man das Makefile ändern, aber damit lassen sich nicht alle Verzeichnisse "umbiegen".

Hat jemand eine Idee?

PS: Mir ist bewusst, dass das eine Fleißarbeit ist.
nezzcarth
User
Beiträge: 1734
Registriert: Samstag 16. April 2011, 12:47

Ich halte das ehrlich gesagt für keine so gute Idee. Viele der Parameter (die, die Betriebssystemspfade betreffen) kannst du zwar über die Kommandozeilenparameter (die bei mir übrigens alle das tun, was sie sollen) ändern, einige (python-spezifische) Pfade aber soweit ich weiß eben nur über das Makefile (z.B. SCRIPTDIR, CONFIGINCLUDEDIR, …). Wenn man anfängt, daran Änderung vorzunehmen, ist meiner Einschätzung nach nicht mehr sichergestellt, dass man eine konsistente Python-Installation hat. Dass pip im Ordner bin landet, lässt sich vielleicht dadurch umgehen, dass man es zunächst nicht mit installiert (--without-ensurepip) und dann später mal versucht, es nachzuinstallieren.

Ungefähr so:

Code: Alles auswählen

$ PREFIX=$HOME/python38; ./configure --prefix="$PREFIX" --exec-prefix="$PREFIX" --bindir="${PREFIX}/Executables" --libdir="${PREFIX}/Libraries" --mandir="${PREFIX}/Documentation" --includedir="${PREFIX}/Headers"  --oldincludedir="${PREFIX}/Headers" --without-ensurepip
Anschließend muss man wohl noch etwas an den Umgebungsvariablen drehen, damit alle Module gefunden werden.

Ich kann jedenfalls nur raten, dir gut zu überlegen, ob sich die Aufwand lohnt. Die Ordner heißen halt, wie sie heißen. Wenn es denn unbedingt sein muss, kann man ja vielleicht etwas mit Symlinks erreichen.
Benutzeravatar
sparrow
User
Beiträge: 4506
Registriert: Freitag 17. April 2009, 10:28

Ich sehe auch gar keinen Sinn darin, Verzeichnisnamen, die den allgemeinen Konventionen entsprechen, zu ändern.
Antworten