Jak mogę zmienić domyślny język Python na moim Ubuntu 20.04 na Python3.8?
Chciałbym ustawić Python 3.8 jako domyślny na moim komputerze Thinkpad X230 Ubuntu 20.04
Próbowałem ustawić alias
gt@gt-ThinkPad-X230:~$ alias python='usr/bin/python3.8'
P: Czy to zmienia plik .bashrc? Jeśli tak, to jakie? ~ / .bashrc? inne? jeśli tak, to które?
gt@gt-ThinkPad-X230:~$ python --version
bash: usr/bin/python3.8: No such file or directory
Narzeka, że nie może znaleźć /usr/bin/python3.8, buuuuut:
gt@gt-ThinkPad-X230:~$ ls /usr/bin/python*
/usr/bin/python /usr/bin/python3.8 /usr/bin/python3-pasteurize /usr/bin/python2 /usr/bin/python3.8-config /usr/bin/python3-unidiff /usr/bin/python2.7 /usr/bin/python3-config /usr/bin/python3 /usr/bin/python3-futurize
Jak uzyskać bash, aby znaleźć plik /usr/bin/python3.8?
Odpowiedzi
Po pierwsze, aby odpowiedzieć na twoje pytanie, twoje podejście powinno działać, myślę, że ścieżka, którą podałeś w swoim aliasie, wymaga /poprzedzającej ścieżkę, więc polecenie powinno być alias python='/usr/bin/python3.8', rzeczywiście musiałoby to wejść do twojego ~/.bashrcpliku, zakładając, że używasz basha.
Po drugie, Ubuntu ma naprawdę fajną metodę globalnego ustawiania domyślnych plików binarnych, zamiast mieszać się z plikami konfiguracyjnymi z kropkami, jak pokazano tutaj: update-alternatives
lepszym rozwiązaniem może być po prostu uruchomienie:
sudo update-alternatives --set python /usr/bin/python3.8
Dzięki temu będziesz mieć wszędzie używaną wersję języka Python, którą zamierzasz.
Prawidłowy sposób jest taki sudo apt install python-is-python3- skutecznie tworzy łącze symboliczne, ale także dotrzymuje kroku przyszłym aktualizacjom; więc jeśli twoja dystrybucja ubuntu przejdzie na Python 3.9, ręczne dowiązanie symboliczne nie będzie już działać, ale pakiet upewnia się, że jest nadal ważny.
Powinieneś móc to zrobić w powłoce poleceń, wpisując:
alias python=python3.8
Aby uczynić go trwałym, musisz otworzyć ~ / .bashrc i dodać tę linię na końcu. Powinno być takie proste! Pamiętaj, że działa to tylko dla każdego użytkownika, co może być tym, czego chcesz, ale nie musi.
Inną rzeczą, którą zauważyłem podczas twojej próby, jest to, że brakuje ci wiodącego /, więc powinno to być czytane jako:
alias python='/usr/bin/python3.8'
bez tego wiodącego do przodu / może próbować użyć ścieżki względnej.