Jak zaktualizować system Python w systemie Mac

18

Obecnie korzystam z Mavericks i chcę zaktualizować wersję systemu Python (2.7.5) do najnowszej (2.7.7) ze strony http://www.python.org , ponieważ chcę zainstalować pygame. Co muszę zrobić? Chciałbym móc uruchomić najnowszą wersję Pythona, kiedy piszę pythonw terminalu, szukałem przewodnika w sieci, ale wszystko to jest dla mnie trochę mylące.

g_rmz
źródło

Odpowiedzi:

10

Zastąpienie systemu Python w systemie Mac OS X nie jest zalecane ze względu na niezgodność z innym oprogramowaniem. Istnieją jednak pliki binarne dla komputerów Mac na stronie pobierania Python, które można zainstalować w innej lokalizacji. Po zainstalowaniu może być konieczna zmiana zmiennej środowiskowej PATH, aby nowy interpreter języka Python działał, gdy pythonzostanie wywołany z wiersza poleceń.

Aby edytować ŚCIEŻKĘ, określ bezwzględną ścieżkę do folderu zawierającego plik binarny Python. Może to wyglądać mniej więcej tak /Applications/Python/.../bin. Dodaj następujący wiersz do ~/.bash_profilepliku:

export PATH=/path/to/new/python/bin:$PATH

Zmiana zacznie obowiązywać po ponownym uruchomieniu powłoki.

Vortico
źródło
1
Tak, wiem, że po zainstalowaniu nowy folder Python jest tworzony w aplikacjach, ale jak zaktualizować zmienną PATH?
g_rmz
Zaktualizowałem odpowiedź.
Vortico,
2
.bashrcnie jest używany w systemie OS X. Potrzebujesz .bash_profile. Nie zapomnij też zacytować $PATHnp.export PATH="/path/to/bin/folder:$PATH"
slhck
Nowy Python sam już dokonał aktualizacji powłoki! Ale teraz, gdy zainstalowałem pygame, kiedy próbuję ją zaimportować, otrzymuję
g_rmz
„Traceback (ostatnie ostatnie połączenie): Plik„ <stdin> ”, wiersz 1, w <module> Plik” /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pygame/ __init__.py ", wiersz 95, w <module> z importu pygame.base * ImportError: dlopen (/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pygame/base.so , 2): nie znaleziono odpowiedniego obrazu. Znaleziono: /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pygame/base.so: brak pasującej architektury w uniwersalnym opakowaniu ”
g_rmz
5

Najłatwiejszym, nieinwazyjnym sposobem byłoby użycie Homebrew :

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Następnie przeczytaj instrukcje wydrukowane z powłoki.

Instalowanie Pythona 3

W Homebrew możesz zainstalować Python 3.x:

brew install python

Będzie to umieścić python3pliki binarne w /usr/local/binoraz pythonbinarny wskazując na python3w /usr/local/opt/python/libexec/bin.

Dodatkowo otrzymasz pip3polecenie dla tej wersji Pythona.

Te formuły nie będą powodować konfliktów ani mieć pierwszeństwa przed pakietami systemowymi, chyba że zastąpisz je PATH. To znaczy, jeśli chcesz pythonsię odwoływać python3, dodaj do konfiguracji powłoki:

export PATH=/usr/local/opt/python/libexec/bin:$PATH

Przeczytaj dokumentację Homebrew Python, aby uzyskać więcej informacji.

Instalowanie Pythona 2.7

Możesz również uzyskać aktualną wersję Pythona 2.7, jeśli jest to wymagane ze względów starszych:

brew install python@2

To da ci plik python2binarny i zastąpi system, pythonaby używać zbudowanego w Homebrew Pythona 2.7.

slhck
źródło
0

Próbowałeś zainstalować port ? Niedawno zaktualizowałem mój python z instalacją portu w wersji 10.8.4

J Bourne
źródło