Ponieważ python3
jest to domyślna wersja Pythona w Ubuntu 18.04 i python2
nie będzie domyślnie dostarczana w nowej instalacji Ubuntu 18.04, w jaki sposób mogę ustawić ją jako python3
domyślną po aktualizacji do Ubuntu 18.04 (od 16.04). Obecnie po aktualizacji do python2
niego nadal domyślnie (np. python
Polecenie kieruje do python2
itp.). Jednak usunięcie python
pakietu spowoduje usunięcie zbyt wielu pakietów, które na nim polegają, więc nie jest to tutaj opcja.
Idealnie chcę usunąć python2
zależność tak bardzo, jak to możliwe. Być może proces aktualizacji można zaprojektować w taki sposób, aby sprawdzał wszystkie pakiety, niezależnie od tego, czy nadal polegają na python2
zależnościach, a tym samym gromadził wszystkie python2
zależności, które można zastąpić równoważną python3
zależnością (co zostanie wówczas rozwiązane przez aktualizację).
Odpowiedzi:
Ten post jest nieco stary, ale wierzę, że istnieje lepsza alternatywa: enter
update-alternatives
. Następujące ustawienia ustawią/usr/bin/python
domyślną wartość na 2,7, ale w razie potrzeby będą dostępne 3.6:Najwyższy priorytet jest tutaj używany jako „automatyczny”,
/usr/bin/python
ale można go łatwo przełączać, uruchamiającsudo update-alternatives --config python
.źródło
python
. Kiedyśsudo update-alternatives --remove-all python
usunąłem wszystkie pytony, a następnie dodałem jedynego pytona, którego chcę używaćsudo update-alternatives --install /usr/bin/python python /usr/bin/python3.7 10
. Warto również wiedzieć,sudo update-alternatives --list python
co jest.sudo apt install python3-pip
isudo update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 10
Aby całkowicie usunąć Python2, musisz wyczyścić
python2.x-minimal
pakiet, który jest wykonywany przezzastępując x dokładną wersją Pythona 2 w twoim systemie. Ale pamiętaj, aby sprawdzić, jakie inne pakiety zostały usunięte, ponieważ możesz mieć pakiety, które nadal zależą od Pythona 2 nawet po aktualizacji, a te pakiety również zostaną odinstalowane i przestaną działać.
Nie ma czegoś takiego jak „domyślny” interpreter Pythona, ponieważ zależy to tylko od tego, który plik
/usr/bin/python
wskazuje, aby zmienić go na python, użyjln
polecenia do aktualizacji łącza, na przykład powiedzmy, że chcesz, aby wskazywał na python 3.6Ewentualnie, jeśli chcesz tego tylko dla swojego użytkownika, możesz ustawić go jako swój alias w swoim
.bashrc
, aby to zrobić, otwórz~/.bashrc
w wybranym edytorze i dodaj następujący wierszźródło
python2
zależności przy użyciu domyślnejpython3
zależności / pakiety.W moim 16.04
/usr/bin/python
jest tylko link do,/usr/bin/python2.7
więc zakładam, że musiałbyś po prostu zmienić ten link, aby wskazywał/usr/bin/python3.x
(z odpowiednimx
oczywiście).źródło
/usr/bin/python
na/usr/bin/python3
, której znajduje się link do najnowszej wersji python3 zainstalowany. Lub po prostu alias lub funkcję w twoim~/.bashrc
. Mnóstwo opcji ;-)python2
w moim systemie (ponieważ jest to domyślny przypadek podczas instalowania nowego Ubuntu 18.04, gdziepython3
jest domyślny ipython2
nie jest instalowany domyślnie)python2
. Wygląda na to, że wiele innych pakietów zależy od tego. Czy masz jakieś wady, utrzymującpython2
zainstalowany?python2
instalowania, jeśli jest to naprawdę konieczne, ale chcę wyraźnie ustawićpython3
jako domyślny, tj. Usuwaćpython2
tak często, jak to możliwe (a czysta instalacja Ubuntu 18.04 pokazuje, że jest to możliwe).