Kompilierte Python-Binärdatei meldet falsche Version

8

Ich habe versucht, Python 2.7 aus der Quelle zu kompilieren.
Hier sind meine Befehle:

%Vor%

Und die Ausgabe von which python ist /my/local/dir/bin/python , was korrekt ist.

Aber wenn ich python --version ausgeführt habe, sehe ich Python 2.7.3 anstelle von Python 2.7.10 .

Die Systemversion von Python ist 2.7.3. Könnte es sein, dass die Systemversion von Python sich irgendwie mit der lokalen, kompilierten Version verbindet? Oder mache ich etwas falsch?

Bearbeiten:

Die Ausgabe von ./my/local/dir/bin/python --version ist auch Python 2.7.3

Bearbeiten 2:

Scheint so, als ob ich das --enable-shared -Flag loswerde, es wird die korrekte Version von Python erzeugen, aber ich brauche dieses Flag, damit meine andere Software funktioniert.

    
mpang 11.07.2015, 21:59
quelle

3 Antworten

4

Also dieser Beitrag kann mein Problem beheben. Um die Quelle zu zitieren:

  

Wenn Sie versuchen, eine Python-ausführbare Datei --enable-shared aus ihrem Build-Verzeichnis auszuführen, müssen Sie dem dynamischen Ladeprogramm mitteilen, wo die gemeinsam genutzte Bibliothek zu finden ist, d. h. das Build-Verzeichnis selbst. Eine Möglichkeit dazu besteht in der Verwendung der Umgebungsvariablen LD_LIBRARY_PATH. Andernfalls durchsucht der dynamische Lader die Standardpfade wie / usr / local / lib / und / usr / lib / nach einer gemeinsam genutzten Bibliothek mit dem richtigen Namen (wie libpython2.7.so.1.0). Wenn bereits ein älteres Python mit diesem Namen installiert ist und sich der ABI nicht zu sehr geändert hat, können Sie Glück haben und es wird geladen und ausgeführt.

    
mpang 12.07.2015, 04:00
quelle
2

Denken Sie daran, dass Shells den Speicherort von Binärdateien zwischenspeichern, anstatt jedes Mal in PATH zu suchen.

Wenn Sie also python zuvor in derselben Shell ausgeführt haben, wird weiterhin die alte Version verwendet.

Verwenden Sie hash -r , um dies zu beheben, ohne eine neue Shell zu starten.

    
o11c 11.07.2015 22:16
quelle
1

Wahrscheinlich müssen Sie die Umgebungsvariable PYTHONHOME so ändern, dass sie die neue Version verwendet:

%Vor%
  

Ссылка

* Wenn Sie die Änderung dauerhaft machen möchten, sollten Sie sie Ihrem Shell-Profil hinzufügen.

    
l'L'l 11.07.2015 22:11
quelle

Tags und Links