Jak ustawić domyślną wersję Pythona na 3.x na OS X?
Używam Mountain Lion i podstawową domyślną wersją Pythona jest 2.7. Pobrałem Pythona 3.3 i chcę ustawić go jako domyślny.
Aktualnie:
$ python
version 2.7.5
$ python3.3
version 3.3
Jak ustawić go tak, aby przy każdym uruchomieniu $ python
otwierał 3.3?
21 answers
Zmiana domyślnej wersji pliku wykonywalnego Pythona w całym systemie może złamać niektóre aplikacje, które zależą od python2.
Można jednak alias poleceń w większości powłok, ponieważ domyślne powłoki w systemie macOS (bash w wersji 10.14 i poniżej; zsh w wersji 10.15) mają podobną składnię. Możesz umieścić
alias python= 'python3'
w twoim ~/.profile
, a następnie source ~/.profile
w twoim ~/.bash_profile
i/lub twoim {[7] } z linią w stylu:
[ -e ~/.profile ] && . ~/.profile
W ten sposób twój alias będzie działał na skorupach.
Z to polecenie python
wywołuje teraz python3
. Jeśli chcesz wywołać" oryginalny " python (który odnosi się do python2), możesz użyć command python
, który pozostawi alias nietknięty i działa we wszystkich powłokach.
Jeśli uruchamiasz interpretery częściej (ja), zawsze możesz utworzyć więcej aliasów do dodania, np.:
alias 2='python2'
alias 3='python3'
Wskazówka: dla skryptów, zamiast używać shebang jak:
#!/usr/bin/env python
Użycie:
#!/usr/bin/env python3
W ten sposób system będzie używał python3 do uruchamiania Pythona executables.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-03-29 02:10:23
Można go rozwiązać za pomocą dowiązania symbolicznego.
unlink /usr/local/bin/python
ln -s /usr/local/bin/python3.3 /usr/local/bin/python
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-11-16 20:49:25
Otwórz ~/.plik bash_profile.
vi ~/.bash_profile
Następnie wpisz alias w następujący sposób:
alias python='python3'
Teraz zapisz plik, a następnie uruchom ~/.plik bash_profile.
source ~/.bash_profile
Gratulacje !!! Teraz możesz użyć python3 wpisując python .
python --version
Python 3.7.3
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-04-05 15:05:18
Przejdź do typu terminala:
alias python=python3.x
To ustawi domyślny python jako python3.x
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-01-17 09:39:32
Jestem trochę spóźniony do gry na ten temat, ale pomyślałem, że powinienem opublikować zaktualizowaną odpowiedź, ponieważ właśnie napotkałem ten problem dla siebie. Należy pamiętać, że będzie to miało zastosowanie tylko do konfiguracji Mac (nie próbowałem go z systemem Windows lub jakikolwiek smak Linuksa).
Najprostszym sposobem, aby to zadziałało, jest zainstalowanie Pythona przez Brew. Jeśli nie masz zainstalowanego brew, musisz to zrobić najpierw. Po zainstalowaniu wykonaj następujące czynności w terminalu:
brew install python
To zainstaluje Pythona 3. Po zainstalowaniu uruchom to:
ls -l /usr/local/bin/python*
Zobaczysz wszystkie linki utworzone przez brew do jego instalacji w Pythonie. Będzie to wyglądało mniej więcej tak:
lrwxr-xr-x 1 username admin 36 Oct 1 13:35 /usr/local/bin/python3@ -> ../Cellar/python/3.7.4_1/bin/python3
lrwxr-xr-x 1 username admin 43 Oct 1 13:35 /usr/local/bin/python3-config@ -> ../Cellar/python/3.7.4_1/bin/python3-config
lrwxr-xr-x 1 username admin 38 Oct 1 13:35 /usr/local/bin/python3.7@ -> ../Cellar/python/3.7.4_1/bin/python3.7
lrwxr-xr-x 1 username admin 45 Oct 1 13:35 /usr/local/bin/python3.7-config@ -> ../Cellar/python/3.7.4_1/bin/python3.7-config
lrwxr-xr-x 1 username admin 39 Oct 1 13:35 /usr/local/bin/python3.7m@ -> ../Cellar/python/3.7.4_1/bin/python3.7m
lrwxr-xr-x 1 username admin 46 Oct 1 13:35 /usr/local/bin/python3.7m-config@ -> ../Cellar/python/3.7.4_1/bin/python3.7m-config
Pierwszy wiersz w tym przykładzie pokazuje dowiązanie symboliczne python3
. Aby ustawić go jako domyślny python
, uruchom następujące polecenie:
ln -s -f /usr/local/bin/python3 /usr/local/bin/python
Po ustawieniu można wykonać:
which python
I powinno pokazywać:
/usr/local/bin/python
Będziesz musiał przeładować swoją obecną powłokę terminala, aby mogła użyć nowego dowiązania symbolicznego w tym shell, jednak wszystkie nowo otwarte sesje shell ' a będą (powinny) używać go automatycznie. Aby to przetestować, otwórz nową powłokę terminala i uruchom następujące polecenie:
python --version
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-10-03 21:03:46
Następujące zadziałały dla mnie
cd /usr/local/bin
mv python python.old
ln -s python3 python
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-01-05 20:58:17
To mi pomogło. Dodałem alias i uruchomiłem ponownie Mój terminal :
alias python=/usr/local/bin/python3
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-07-01 19:39:06
Idź do 'Applications', wejdź do folderu 'Python' , powinien być skrypt bash o nazwie ' Update Shell Profile.polecenie " lub podobne. Uruchom ten skrypt i powinien to zrobić.
Aktualizacja: wygląda na to, że nie powinieneś go aktualizować: Jak zmienić domyślną wersję Pythona?
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-09 13:47:17
Wydaje mi się, że większość ludzi tu wylądowała używa ZSH iterm czy jakoś tak, i to sprowadza cię do tej odpowiedzi .
Zamiast tego musisz dodać / zmodyfikować swoje polecenia w ~/.zshrc
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-01 14:42:56
Sugestie dotyczące aliasu Pythona na python3 spowodują problemy ze środowiskami wirtualnymi, które ustawiają wersję Pythona (np.: pyenv). Za pomocą pyenv możesz ustawić globalną wersję w następujący sposób:
pyenv global 3.8.2
A następnie w dowolnym konkretnym projekcie można utworzyćpython-plik wersji, w którym znajduje się wersja Pythona:
pyenv local 2.7.1
Jest to moim zdaniem najlepszy sposób zarządzania wieloma wersjami Pythona na systemie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-11 14:49:00
$ sudo ln -s -f $(which python3) $(which python)
Zrobione.Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-12-30 20:56:05
Myślę, że kiedy instalujesz Pythona, umieszcza on instrukcje export path w twoim~/.plik bash_profile. Jeśli więc nie zamierzasz już używać Pythona 2, możesz po prostu usunąć to polecenie. Alias jak wspomniano powyżej jest również świetnym sposobem, aby to zrobić.
Oto jak usunąć odniesienie z~/.bash_profile - vim ./.bash_profile - Usuń odniesienie (AKA coś w stylu: export PATH=" / Users / bla/anaconda:$PATH") - Zapisz i wyjdź źródło ./.bash_profile aby zapisać zmiany
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-10 19:28:09
Dobry i zły sposób na ustawienie Pythona 3 jako domyślnego na komputerze Mac
W tym artykule autor omówi trzy sposoby ustawienia domyślnego Pythona:
-
Czego nie robić.
- co moglibyśmy zrobić (ale i nie powinniśmy). Co powinniśmy zrobić!
Wszystkie te sposoby działają. Ty zdecyduj, który jest lepszy.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-10-25 06:38:34
Na MacOS
Krok 1: Upgrade Pythona do najnowszej wersji przez: $ brew upgrade python
Krok 2: Idź do domu: $ cd
Krok 3: Otwórz .bash_profile$ vi .bash_profile
Ustawianie ścieżki dla Pythona 3.8
PATH= " /Library/Framework / Python.framework / Versions / 3.8 / bin:${PATH}" ścieżka eksportu
Krok-4: Zapisz plik. I kompilacji przez:
$ . .bash_profile
Krok 5: Sprawdź wersję Pythona:
$ python-V
Krok-6: wszystkie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-07-09 17:07:19
Nie jestem pewien, czy jest to dostępne na OS X, ale na Linuksie użyłbym komendy module
. Zobacz tutaj .
Ustaw plik modulefile poprawnie, a następnie dodaj coś takiego do pliku rc (np.~/."bashrc"): {]}
module load python3.3
Spowoduje to, że Ścieżki zostaną zmienione zgodnie z wymaganiami podczas logowania, bez wpływu na domyślne ustawienia systemu.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-25 05:31:03
Użytkownicy komputerów Mac muszą po prostu uruchomić następujący kod na terminalu
brew switch python 3.x.x
3.x. x powinna być nową wersją Pythona.
Spowoduje to aktualizację wszystkich linków systemowych.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-05-02 13:57:59
Jeśli używasz macports, nie musisz bawić się aliasami ani zmiennymi środowiskowymi, po prostu użyj metody, którą oferuje już macports, wyjaśnionej tym pytaniem:
TL; DR:
sudo port select --set python python27
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-08-27 21:43:19
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 innego edytora, a następnie zmienić następujące
# Locate the global Python where virtualenvwrapper is installed.
if [ "${VIRTUALENVWRAPPER_PYTHON:-}" = "" ]
then
VIRTUALENVWRAPPER_PYTHON="$(command \which python)"
fi
Zmień linię VIRTUALENVWRAPPER_PYTHON="$(command \which python)"
na VIRTUALENVWRAPPER_PYTHON="$(command \which python3)"
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-17 19:23:48
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 pliku = = > preferencje dla nowego projektu, a następnie wybierz interpreter, który chcesz dla swoich projektów, w tym przypadku python 3.3
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-02-12 13:21:03
Jeśli używasz macports, ma to łatwiejszy sposób:
Run:
port install python37
Po instalacji Ustaw domyślną wartość:
sudo port select --set python python37
sudo port select --set python3 python37
Uruchom ponownie okno cmd, gotowe.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-07-15 11:24:13
No cóż... Jest trochę stary. Ale nadal zasługuje na dobrą odpowiedź.
A dobrym jest nie chcesz dotykać domyślnego Pythona na Macu.
Zainstaluj dowolną wersję Pythona przez Homebrew lub cokolwiek innego i użyj jej w virtualenv. Virtualenv jest często uważany za coś gównianego, ale nadal jest o wiele lepszy niż zmiana wersji Pythona w całym systemie (macOS prawdopodobnie chroni się przed takimi działaniami)lub w całym systemie bash... nieważne. Po prostu zapomnij o domyślny Python. Korzystanie z placów zabaw, takich jak venv, jest tym, za co Twój system operacyjny będzie najbardziej, bardzo wdzięczny.
Na przykład, wiele nowoczesnych dystrybucji Linuksa pozbywa się Python2 zainstalowanego po wyjęciu z pudełka, pozostawiając tylko Python3 w systemie. Ale za każdym razem, gdy próbujesz zainstalować coś starego z python2 jako zależność... mam nadzieję, że rozumiesz, co mam na myśli. Dobry deweloper ma to gdzieś. Dobrzy programiści tworzą czyste place zabaw w wersji Pythona, której pragną.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-10-02 11:35:20