Korzystam z Mountain Lion, a podstawową domyślną wersją Pythona jest 2.7. Pobrałem Python 3.3 i chcę ustawić go jako domyślny.
Obecnie:
$ python
version 2.7.5
$ python3.3
version 3.3
Jak ustawić, aby za każdym razem $ python
otwierało się 3.3?
python
python-3.x
macos
install
Marcus
źródło
źródło
pyenv
.Odpowiedzi:
Zmiana domyślnej wersji pliku wykonywalnego Pythona na cały system może spowodować uszkodzenie niektórych aplikacji zależnych od python2.
Jednak możesz aliasować polecenia w większości powłok, ponieważ domyślne powłoki w macOS (bash w wersji 10.14 i niższej; zsh w wersji 10.15) mają podobną składnię. Możesz umieścić alias python = 'python3' w swoim
~/.profile
, a następnie źródło~/.profile
w swoim~/.bash_profile
i / lub swoim~/.zsh_profile
z linią taką jak:W ten sposób Twój alias będzie działał w różnych powłokach.
Dzięki temu
python
polecenie teraz wywołujepython3
. Jeśli chcesz czasami wywoływać „oryginalny” python (który odnosi się do python2 ), możesz użyć tegocommand python
, który pozostawi nienaruszony alias i działa we wszystkich powłokach.Jeśli częściej uruchamiasz tłumaczy (ja) , zawsze możesz utworzyć więcej aliasów, aby dodać, tj .:
Wskazówka: w przypadku skryptów zamiast korzystania z shebang, takiego jak:
posługiwać się:
W ten sposób system będzie używał Python3 do uruchamiania plików wykonywalnych Pythona .
źródło
alias python=python3
i uruchomieniepython
w moim terminalu na osx el capitan nie działało dla mnie. Próbowałem zapisać zarówno ~ / .bash_aliases, jak i ~ / .bash_profile.source ~/.bash_profile
po edycji~/.bash_profile
pliku.alias pip='pip3.6'
Możesz to rozwiązać za pomocą dowiązania symbolicznego.
źródło
unlink
zamiastrm
do usuwania dowiązań symbolicznych (jeśli przypadkowo dodasz ukośnik na końcu,rm
możesz mieć złe wyniki). Alternatywnie możesz zrobić,ln -s -f ...
co powinno zastąpić bieżące dowiązanie symboliczne.python
siępython2.7
?unlink: /usr/bin/python: Operation not permitted
ln -s...
Z/local/
).Otwórz plik ~ / .bash_profile .
Następnie umieść alias w następujący sposób:
Teraz zapisz plik, a następnie uruchom plik ~ / .bash_profile .
Gratulacje !!! Teraz możesz używać python3, wpisując python .
Python 3.7.3
źródło
source ~/.bash_profile
za każdym razem, gdy ponownie otwieram terminal? Po zamknięciu i ponownym otwarciu terminalu powraca do python2.Idź do typu terminala:
Spowoduje to ustawienie domyślnego Pythona jako python3.x
źródło
Poniższe działało dla mnie
źródło
Trochę się spóźniłem do tej gry, ale pomyślałem, że powinienem opublikować zaktualizowaną odpowiedź, ponieważ właśnie sam napotkałem ten problem. Należy pamiętać, że będzie to dotyczyć tylko konfiguracji opartej na komputerach Mac (nie próbowałem tego w systemie Windows ani w żadnym innym systemie Linux).
Najprostszym sposobem, aby to zadziałało, jest zainstalowanie Pythona przez Brew . Jeśli nie masz zainstalowanego naparu, musisz to zrobić najpierw. Po zainstalowaniu wykonaj następujące czynności na terminalu:
Spowoduje to zainstalowanie Python 3. Po zainstalowaniu uruchom:
Zobaczysz wszystkie linki utworzone przez brew do instalacji Pythona. Będzie to wyglądać mniej więcej tak:
Pierwszy wiersz w tym przykładzie pokazuje
python3
dowiązanie symboliczne. Aby ustawić go jako domyślnepython
łącze symboliczne, uruchom następujące czynności:Po ustawieniu możesz:
i powinno pokazywać:
Będziesz musiał ponownie załadować bieżącą powłokę terminala, aby mogła korzystać z nowego dowiązania symbolicznego w tej powłoce, jednak wszystkie nowo otwarte sesje powłoki będą (powinny) automatycznie z niego korzystać. Aby to przetestować, otwórz nową powłokę terminala i uruchom następujące polecenie:
źródło
Idź do „Aplikacje”, przejdź do folderu „Python”, powinien być skrypt bash o nazwie „Update Shell Profile.command” lub podobny. Uruchom ten skrypt i powinien to zrobić.
Aktualizacja: Wygląda na to, że nie powinieneś go aktualizować: jak zmienić domyślną wersję Pythona?
źródło
To zadziałało dla mnie. Dodałem alias i ponownie uruchomiłem terminal :
źródło
Sądzę, że większość ludzi, którzy tu wylądowali, używa ZSH przez Internet lub cokolwiek, i to prowadzi do tej odpowiedzi .
Zamiast tego musisz dodać / zmodyfikować swoje polecenia
~/.zshrc
.źródło
Nie jestem pewien, czy jest on dostępny w systemie OS X, ale w systemie Linux skorzystałbym z
module
polecenia. Zobacz tutaj .Ustaw poprawnie plik modułu, a następnie dodaj coś takiego do pliku rc (np. ~ / .Bashrc):
To sprawi, że twoje ścieżki będą się zmieniać zgodnie z wymaganiami podczas logowania, bez wpływu na ustawienia domyślne systemu.
źródło
Myślę, że kiedy instalujesz Pythona, umieszcza on instrukcje ścieżki eksportu do pliku ~ / .bash_profile. Więc jeśli nie zamierzasz już używać Python 2, możesz po prostu usunąć z niego tę instrukcję. Alias, jak wspomniano powyżej, to również świetny sposób na zrobienie tego.
Oto jak usunąć referencję z ~ / .bash_profile - vim ./.bash_profile - usunąć referencję (AKA coś w rodzaju: export PATH = "/ Users / bla / anaconda: $ PATH") - zapisz i wyjdź - source ./ .bash_profile, aby zapisać zmiany
źródło
gotowy.
źródło
PRAWY i ZŁY sposób, aby ustawić Python 3 jako domyślny na komputerze Mac
W tym artykule autor omawia trzy sposoby ustawiania domyślnego Pythona:
Wszystkie te sposoby działają. Ty decydujesz, który jest lepszy.
źródło
Jeśli używasz
virtualenvwrapper
, możesz po prostu zlokalizować go za pomocąwhich virtualenvwrapper.sh
, a następnie otworzyć go za pomocąvim
lub dowolnego innego edytora, a następnie zmienić następująceZmień linię
VIRTUALENVWRAPPER_PYTHON="$(command \which python)"
naVIRTUALENVWRAPPER_PYTHON="$(command \which python3)"
.źródło
Dla mnie rozwiązaniem było użycie PyCharm i ustawienie domyślnej wersji Pythona na tę, z którą muszę pracować.
zainstaluj PyCharm i przejdź do preferencji pliku ==> dla nowego projektu, a następnie wybierz interpreter dla swoich projektów, w tym przypadku python 3.3
źródło
Jeśli korzystasz z Macports, nie musisz bawić się aliasami lub zmiennymi środowiskowymi, po prostu skorzystaj z metody, którą Macports już oferuje, wyjaśnionej w tym pytaniu:
Instrukcje: Macports wybierz python
TL; DR:
źródło
Jeśli korzystasz z Macports, jest to łatwiejszy sposób:
biegać:
port install python37
po instalacji ustaw domyślne:
sudo port select --set python python37
sudo port select --set python3 python37
uruchom ponownie okno cmd, gotowe.
źródło
Cóż ... To trochę stare. Ale nadal zasługuje na dobrą odpowiedź.
A dobrym jest to, że nie chcesz dotykać domyślnego języka Python na komputerze Mac.
Zainstaluj dowolną wersję Pythona za pomocą Homebrew lub cokolwiek innego i używaj jej w virtualenv. Virtualenv jest często uważany za coś badziewnego, ale wciąż jest o wiele lepszy niż zmiana wersji Pythona na system (macOS prawdopodobnie uchroni się przed takimi działaniami) lub na użytkownika, bash ... cokolwiek. Po prostu zapomnij o domyślnym języku Python. Korzystanie z placów zabaw, takich jak Venv, jest tym, za co Twój system operacyjny będzie najbardziej, bardzo wdzięczny.
Chodzi o to, na przykład, że wiele współczesnych dystrybucji Linuksa pozbywa się Pythona2 zainstalowanego natychmiast, pozostawiając tylko Python3 w systemie. Ale za każdym razem, gdy próbujesz zainstalować coś starego z python2 jako zależnością ... mam nadzieję, że rozumiesz o co mi chodzi. Dobry programista nie dba o to. Dobrzy programiści tworzą czyste place zabaw z pożądaną wersją Pythona.
źródło
Użytkownicy komputerów Mac muszą po prostu uruchomić następujący kod na terminalu
3.xx powinna być nową wersją Pythona.
Spowoduje to zaktualizowanie wszystkich łączy systemowych.
źródło
Sugestie dotyczące aliasu Python do Python3 spowodują problemy ze środowiskami wirtualnymi, które ustawiają wersję Pythona (np .: pyenv). Dzięki pyenv możesz ustawić wersję globalnie w następujący sposób:
a następnie w dowolnym konkretnym projekcie możesz utworzyć plik w wersji .python, który zawiera w sobie wersję Pythona:
To moim zdaniem najlepszy sposób zarządzania wieloma wersjami Pythona w systemie.
źródło