Wenn Sie mehrere Python-Versionen installieren (ich habe derzeit die Standardversion 2.5, habe 3.0.1 und jetzt 2.6.2 installiert), wird automatisch etwas in /usr/local
und passt auch den Pfad an, um die /Library/Frameworks/Python/Versions/theVersion/bin
aber was nützt das, wenn /usr/local
befindet sich bereits im PATH, und alle installierten Versionen (außer der Standardversion 2.5, die sich in /usr/bin
) sind da drin? Ich habe die Pfade des Python-Frameworks aus meinem PATH in .bash_profile
und ich kann immer noch tippen "python -V" => "Python 2.5.1"
, "python2.6 -V" => "Python 2.6.2"
, "python3 -V" => "Python 3.0.1"
. Ich frage mich nur, warum er es in /usr/local
und ändert auch den PATH. Und ist das, was ich gemacht habe, in Ordnung? Danke!
Außerdem war die 2.6-Installation die "aktuelle", da sie .../Python.framework/Versions/Current
auf 2.6. hinweisen, also einfache 'python'-Dinge in /usr/local/bin
auf 2,6 zeigen, aber das spielt keine Rolle, weil usr/bin
kommt zuerst und Dinge mit dem gleichen Namen weisen auf 2.5 Sachen hin. Wie auch immer, 2.5 kommt mit Leopard, ich installierte 3.0.1 nur um die neueste Version zu haben (die eine dmg-Datei hat), und jetzt habe ich 2.6.2 für die Verwendung mit pygame installiert.
EDIT: OK, so habe ich es verstanden. Wenn Sie, sagen wir, Python 2.6.2 installieren: Eine Reihe von Symlinks werden hinzugefügt zu /usr/local/bin
Wenn es also eine #! /usr/local/bin/python
shebang in einem Python-Skript, wird es ausgeführt, und in /Applications/Python 2.6
wird der Python Launcher zur Standardanwendung für die Ausführung von .py-Dateien gemacht, die die /usr/local/bin/pythonw
und /Library/Frameworks/Python.framework/Versions/2.6/bin
wird erstellt und dem Pfad vorangestellt, so dass which python
wird den Python dort hineinbringen, und auch #! /usr/bin/env python
korrekt ausgeführt wird.