Według oficjalnej dokumentacji Pythona obsługa Python2.7 zakończy się w niedalekiej przyszłości.
DEPRECACJA: Python 2.7 zakończy swoją działalność 1 stycznia 2020 r. Zaktualizuj swój Python, ponieważ po tej dacie Python 2.7 nie będzie obsługiwany. Przyszła wersja pipa porzuci obsługę Python 2.7. Więcej szczegółów na temat obsługi Python 2 w pipie można znaleźć na stronie https://pip.pypa.io/en/latest/development/release-process/#python-2-support
Dlaczego Ubuntu nie używa domyślnie Python3 w nadchodzącej wersji?
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="19.04 (Disco Dingo)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 19.04"
VERSION_ID="19.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=disco
UBUNTU_CODENAME=disco
$ python
Python 2.7.16 (default, Apr 6 2019, 01:42:57)
[GCC 8.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
python
release-management
ラ ビ ナ ン ダ ン
źródło
źródło
Odpowiedzi:
Według informacji o wydaniu Bionic Beaver :
I powyższe stwierdzenie jest prawdziwe. Python 2 nie jest instalowany domyślnie w 18.04 i późniejszych wersjach. Ubuntu przeniosło już prawie wszystkie swoje projekty z Python 2 do Python 3. Na przykład, zgodnie z informacjami o wydaniu Disco Dingo :
Co więcej, jeszcze przed wydaniem Ubuntu 18.04, Ubuntu / Canonical zaczął prosić programistów o przejście na Python 3, ponieważ koniec jest bliski . Z Python - Wiki Ubuntu :
Wygląda na to, że w twoim systemie Python 2 został zainstalowany celowo lub może być zależny od jakiegoś innego pakietu, którego programista nie przeniósł się do Python 3. Możesz sprawdzić pakiety zależne od Python 2, uruchamiając,
Powodem, dla którego Python 2 jest wywoływany po
python
uruchomieniu, jest jeden z historycznych punktów PEP 394 - Komenda „python” w systemach uniksopodobnych :źródło
#!/usr/bin/python
lub równoważnymi, które mogłyby się zepsuć, gdybypython
stały siępython3
, podczas gdy losowe skrypty zależne od Python 3 są bardziej prawdopodobne, aby zacząć#!/usr/bin/python3
.O ile mi wiadomo, zrobił to tylko arch Linux: wywołać
python3
z domyślnegopython
polecenia. Pomimo zalecenia PEP 394 .Można to zmienić
/usr/bin
, ponownie definiując powiązania międzypython
,pythonX
apythonX.Y
. Ale bądź przygotowany na poradzenie sobie z wieloma błędami, ponieważ wszystkie twoje skrypty python2 będą wymagały wyraźnego wybuchu powłoki:Powłoka powłoki rzadko używana w starych skryptach.
źródło