Pomyślnie zainstalowałem Python 3.3 na Ubuntu 12.10. Ponieważ nie potrzebuję wielu wersji Pythona, chcę usunąć istniejący Python 2.7. Kiedy próbuję to zrobić, używając
sudo apt-get remove python2.7
Ubuntu ostrzega mnie, że istnieje mnóstwo komponentów zależnych od systemu, które również zostaną usunięte. Wygląda naprawdę przerażająco.
Czy jest więc sposób na usunięcie Pythona 2.7 bez usuwania komponentów zależnych od systemu, czy też mogę skierować te osoby zależne do używania Pythona 3.3?
python
python-2.7
feniks bai
źródło
źródło
Odpowiedzi:
Nie możesz
Z Ubuntu wiki / Python :
Oznacza to, że wiele pakietów podstawowych ma silne zależności od wersji 2.7, a migracja zajmie dużo czasu. Zauważ, że Python 3 ma wiele niezgodnych wstecz wersji - nie jest to zwykła aktualizacja pakietu.
Jeśli naprawdę chcesz pozbyć się Pythona 2.7, musisz poczekać na wydanie 14.04, ale nie ma gwarancji.
źródło
Nie możesz i naprawdę nie chcesz.
Python zmienił się drastycznie między 2,7 a 3,0 i złamał kompatybilność wsteczną. Skrypty w języku Python napisane dla wersji 2.7, które są używane do obsługi dużej części infrastruktury systemu, niekoniecznie będą działać poprawnie w języku Python 3.x. Te skrypty muszą zostać zaktualizowane, aby działały z nową wersją, i dopóki to się nie stanie, musisz trzymać Python 2.7 w pobliżu.
Dlatego zauważasz tak dużą liczbę zależności od starego Pythona - system od niego zależy. Poza tym nie ma nic złego w tym, że obie wersje Pythona są zainstalowane w tym samym systemie. W przyszłości możesz natknąć się na aplikacje, które nadal używają Python 2.7, więc utrzymywanie go jest dobrym pomysłem.
źródło
Przybyłem tutaj w 2019 roku, ponieważ domyślnie rozwijam w Python3 i doszedłem do tego samego wniosku co OP po zobaczeniu, co zostanie usunięte po uruchomieniu
apt purge python
Ponieważ to, co naprawdę chciałem to nazwać Python3 z tylko
python
pobiegłemW ten sposób, jeśli Python2.7 jest nadal potrzebny, można go wywołać jawnie za pomocą,
python2.7
podczas gdy zwykłe wywołaniepython
domyślnie ustawi się na Python3 z powodu dowiązania symbolicznego.Nie mam żadnych skryptów na poziomie bash, które wywołują Python2.7,
python
więc zmiana nie byłaby uciążliwa - podczas gdy inne systemy wymagałyby odpowiedniego dostosowania skryptów, gdyby tak zrobiły.- Polecenie „python” w systemach uniksopodobnych
Ta odpowiedź nie jest bezpośrednią odpowiedzią na OP, ale jako ktoś, kto miał podobne pytanie, to właśnie tej funkcji szukałem, gdy myślałem o usunięciu wersji 2.7. Zamiast usuwać, po prostu ustal, który z nich ma zostać użyty
python
.źródło
/usr/bin/python
, podczas gdy prawie każdy skrypt stworzony dla Pythona 3 będzie świadomy zmiany i wywoła siępython3
w chwili obecnej. Pozwolenie napython
punktpython2.7
jest mniej prawdopodobne, aby coś zepsuło.grep -r "/usr/bin/python" /usr/bin/
powinien dać ci krótki przegląd. Prawdopodobnie nie wyłączy twojego systemu, ale może sprawić, że niektóre rzeczy nie będą działać. Na przykładsolaar
.