To łatwe:
defaults write com.apple.versioner.python Version 2.6
Zobacz man python
pełne wyjaśnienie od Apple.
Ponadto, jeden problem: upewnij się, że używasz Pythona dostarczonego z komputerem, a nie innego, który zainstalowałeś. Zrób to, pisząc which python
w wierszu polecenia. Powinien wskazywać /usr/bin/python
. Wspominam o tym tylko dlatego, że mój domyślny system to Snow Leopard 2.6 (podczas korzystania z Leoparda było to 2.5). Zatem fakt, że otrzymujesz 2.5, może wskazywać, że na twojej drodze jest coś jeszcze.
Aktualizacja
Aby odpowiedzieć na poniższe uwagi:
To nie robi tego, o co pytają ludzie.
Robi to dla mnie w OS X 10.8.2. Po wykonaniu defaults write com.apple.versioner.python Version 2.6
domyślna wersja Pythona to rzeczywiście 2.6. (I podobnie po zmianie z powrotem na 2.7.)
Dzieje się tak niezależnie od tego, czy uruchamiam python
bezpośrednio, czy używam skryptu wykonywalnego zaczynającego się od #!/usr/bin/env python
- Dostaję oczekiwaną wersję Pythona.
Nie rozwiązuje to dowiązania symbolicznego w /System/Library/Frameworks/Python.framework/Versions, gdzie Current wskazuje na 2.7, co może powodować problemy (ponieważ wciąż jest w sys.path z 2.6!)
Rzeczywiście, nie naprawia tego dowiązania symbolicznego.
Jednak uruchom krótki skrypt, który print()
jest sys.path
i (przynajmniej w moim stosunkowo domyślnym ustawieniu) katalogi bibliotek 2.6 znajdują się na ścieżce, a katalogi 2.7 nie znajdują się na ścieżce. Nie ma też Current
dowiązania symbolicznego na ścieżce. Dlatego nie powinno stanowić problemu dla większości skryptów.
Możliwe jest jednak - nie przetestowałem - że Current
dowiązanie symboliczne jest używane przez jeden easy_install
lub pip
. To spowodowałoby problemy. Wydaje się, że to błąd, że dowiązanie symboliczne nie jest aktualizowane podczas aktualizacji wersji Pythona.
python
wskazaną/Library/Frameworks/Python.framework/Versions/Current/bin
. Oczywiście nie zaktualizowano go do wersji 2.6. Zastąpiłem więc zmienną PATH domyślną zmienną znalezioną w Google i teraz usunę MacPython z mojego systemu./Library/Frameworks/Python.framework/Versions/Current/bin
) Jak to zmienić?/usr/bin/python
jest plikiem wykonywalnym, a nie linkiem./usr/bin/python2.6
to link, który wskazuje../../System/Library/Frameworks/Python.framework/Versions/2.6/bin/python2.6
. Ponieważ plik wykonywalny Pythona jest w/System/Library
nim, powinien być dostępny niezależnie od tego, czy / jaka wersja Xcode jest zainstalowana.Sugerowałbym użycie portów Mac ...
Istnieje pakiet o nazwie python_select, który pozwala na równoległe używanie pytonów. Więc najpierw zainstaluj porty mac, jeśli jeszcze nie są zainstalowane.
Najpierw zainstaluj pakiet python_select:
Już teraz możesz sprawdzić, które dystrybucje Pythona są dostępne w twoim systemie. Wystarczy wydać polecenie:
W moim przypadku jest drukowany w wersji Pythona najmniejszego która pochodzi domyślnie z systemem Snow Leopard:
python26-apple
.pokazuje aktualnie wybraną wersję, np
python26-apple
. Widzisz, ten pakiet ładnie współpracuje z komputerem Mac. Więcej problemów z opcjamiNastępnie możesz wyszukać dostępną wersję Pythona w repozytorium portów:
Spowoduje to utworzenie długiej listy dostępnych pytonów.
Aby zainstalować żądane pakiety, np. Uruchom Python 2.4:
Teraz
python_select -s
pokaże również świeżo zainstalowany python. Aby przełączyć na problem z python 2.4:To polecenie jest trwałe między powłokami.
źródło
Zakładając, że używasz bash, wpisz:
Spowoduje to wyświetlenie wszystkich plików wykonywalnych „python”, aliasów, wbudowanych powłok (prawdopodobnie żadnych) lub funkcji bash w zmiennej PATH.
To powinno pomóc ci lepiej określić, co się tutaj dzieje.
źródło
Chcesz utworzyć dowiązanie symboliczne do żądanej wersji.
Spowoduje to usunięcie bieżącego wskaźnika do domyślnej wersji języka Python i ustawienie go na wersję 2.6.
źródło
sudo ln -s /path/to/2.7 /usr/bin/python
. Tak właśnie dzieje się w Linuksie i ma to po prostu sens.Nie idealne (IMO), ale to naprawiło wszystkie aplikacje, które szukają
python
w moim/usr/local/bin/
.sudo cp /usr/local/bin/python3 /usr/local/bin/python
Oczywiście po zainstalowaniu najnowszej wersji Pythona.
źródło