Seltsame Python-Kompilierungsergebnisse mit dem Flag "--enable-shared"

8

Ich benutze Debian (das mit Python-2.7.3 kommt) und versuche, Python-2.7.6 aus der Quelle zu kompilieren, um es mit mod_wsgi neben Apache zu verwenden.

Offenbar müssen Sie - enable-shared verwenden, wenn Sie nach zahlreichen Antworten auf die Verwendung von mod_wsgi kompilieren.

Folgen Sie diesen Schritten:

%Vor%

Und dann die interaktive Shell überprüfen @

/usr/local/bin/python-2.7.6/bin/python

Ich werde mit "Python 2.7.3 (Standard, 2. Januar 2013, 14:09:21)" usw. begrüßt

Warum ergibt sich Python 2.7.3?

Ich versuchte ldd gegen die ausführbare Datei und das ist das Ergebnis:

%Vor%

Wie kann ich die Verwendung der Systembibliothek stoppen und stattdessen die lokal kompilierte Version verwenden?

Ich weiß, dass es für mich viel einfacher ist, einfach auf die Python-Version des Systems zurückzugreifen, und dass der Unterschied in der realen Welt gleich null ist. Aber dieses Verhalten scheint seltsam.

    
Chris Berry 03.03.2014, 20:52
quelle

1 Antwort

13

Wenn Sie make von Python ausführen, führen Sie es wie folgt aus:

%Vor%

Das Setzen der Umgebungsvariable LD_RUN_PATH erzwingt, dass die ausführbare Python-Datei in / usr / local / lib vor / usr / lib nach Python shared library sucht.

Dies wird in der mod_wsgi Dokumentation erwähnt.

Bevor Sie dies erneut tun, stellen Sie sicher, dass Sie eine 'make distclean' durchführen und konfigurieren Sie erneut, um sicherzustellen, dass Sie keine alten Build-Produkte haben.

    
Graham Dumpleton 03.03.2014, 22:15
quelle