Рейтинг:18

Какие версии Python можно безопасно удалить из Ubuntu 20.04?

флаг us

На моем ноутбуке с Ubuntu 20.04 установлены следующие версии Python:

питон2
питон3.10
питон3.9
python3-пастеризация
питон2.7
питон3.8
python3-config
python-argcomplete-check-easy-install-script
питон3
python3.8-конфигурация
python3-будущее
python-argcomplete-tcsh

Я знаю, что Ubuntu зависит от некоторых из них, какие из них я могу безопасно удалить?


РЕДАКТИРОВАТЬ: Как и просили в комментариях, вот вывод ls -l /usr/bin/python[23]* /usr/local/bin/python[23]* :

ls: невозможно получить доступ к '/usr/local/bin/python[23]*': нет такого файла или каталога
lrwxrwxrwx 1 root root 9 13 марта 2020 г. /usr/bin/python2 -> python2.7
-rwxr-xr-x 1 root root 3674216 8 марта 2021 г. /usr/bin/python2.7
lrwxrwxrwx 1 root root 9 12 марта 2021 г. /usr/bin/python3 -> python3.8
-rwxr-xr-x 1 root root 5454136 5 октября 00:09 /usr/bin/python3.10
-rwxr-xr-x 1 root root 5490488 28 сентября 18:10 /usr/bin/python3.8
lrwxrwxrwx 1 root root 33 28 сентября 18:10 /usr/bin/python3.8-config -> x86_64-linux-gnu-python3.8-config
-rwxr-xr-x 1 root root 5405872 10 сентября 01:20 /usr/bin/python3.9
lrwxrwxrwx 1 root root 16 13 марта 2020 г. /usr/bin/python3-config -> python3.8-config
-rwxr-xr-x 1 root root 384 28 марта 2020 г. /usr/bin/python3-futurize
-rwxr-xr-x 1 root root 388 28 марта 2020 г. /usr/bin/python3-pasteurize
флаг cn
Я могу гарантировать, что вам понадобятся 2, подключенные к python2 и python3 (это символические ссылки). Все остальные решать вам. «безопасный» является относительным ... он удалит все подключенные приложения, если вы удалите 3.10. Для меня не проблема, но вы можете не согласиться ;-)
флаг us
Итак, python3.8 и python3.9 можно удалить, не нарушая мою установку Ubuntu, верно?
флаг us
Спасибо, я отредактировал свой пост. Надеюсь, сейчас лучше
muru avatar
флаг us
Да, так намного лучше. Также добавьте вывод `ls -l /usr/bin/python[23]* /usr/local/bin/python[23]*`, пожалуйста.
флаг us
Хорошо, пожалуйста, посмотрите мое редактирование
флаг us
Версия Python по умолчанию в Ubuntu 20.04 — 3.8, не удаляйте ее. Как вы установили столько версий Python?
флаг cn
@JorisLimonier нет. см. символические ссылки. 2.7 и 3.8 нужны самой системе.
Artur Meinild avatar
флаг vn
@Rinzwind система не зависит от python2, она была установлена ​​OP (напрямую или как зависимость). ;-)
Mark avatar
флаг ke
На самом деле у вас есть только четыре версии Python: 2.7, 3.8, 3.9 и 3.10. Все остальное либо не Python, либо является синонимом одного из этих четырех.
флаг us
@ArturMeinild, как ты это понял?
Artur Meinild avatar
флаг vn
@JorisLimonier Python2 не установлен 20.04 по умолчанию, поэтому его безопасно удалить, поскольку он установлен пользователем.
Рейтинг:15
флаг cn

Эти 2 важны:

lrwxrwxrwx 1 root root 9 13 марта 2020 г. /usr/bin/python2 -> python2.7
lrwxrwxrwx 1 root root 9 12 марта 2021 г. /usr/bin/python3 -> python3.8

Все, что начинается с python2, предполагает наличие python 2.7. И то же самое касается python3: он ожидает python3.8. На всякий случай: оставьте и python2.7; это может быть не нужно, но удаление может привести к поломке системы.

Все остальные версии добавляются вручную. Их удаление сохранит работу системы, но удалит все связанное с ней программное обеспечение. Так что проверяйте пакеты, когда делаете меткая очистка или же способ удалить. Если вы планируете также удалить 2.7, обратите особое внимание на то, что система удалит вместе с ним.

Artur Meinild avatar
флаг vn
Однажды я установил Midnight Commander на свой 20.04, и он установил Python 2.7 в качестве зависимости. Однако и MC, и Python 2 можно было бы снова удалить без каких-либо проблем,
флаг cn
Хммм, это действительно сработало бы. Просто посмотрите на предложения, которые он показывает при очистке / удалении. Большинство людей просто набирают Y, не глядя (как и я :-))
wjandrea avatar
флаг cn
Было бы полезно уточнить, что `/usr/bin/python2.7` и `/usr/bin/python3.8` являются целями этих символических ссылок. Новички могут не понять, что `-> python2.7` означает относительную символическую ссылку.
Рейтинг:14
флаг vn

Версия Python по умолчанию в Ubuntu 20.04 — Python 3.8. Все остальные версии - это то, что вы установили сами (или зависимость от чего-то, что вы установили).

Таким образом, система будет зависеть только от версии 3.8, но другие ваши приложения или проекты могут зависеть от других версий (включая Python 2/2.7).

Рейтинг:14
флаг cn

Вы также можете запустить apt rdepends --установлен python3.9 чтобы узнать, от каких пакетов зависит питон3.9.

Пример вывода apt rdepends --установлен python3.8 так как это версия, установленная на моей машине:

питон3.8
Обратное зависит:
  python3.8-минимальный
  python3.8-минимальный
  python3-uno
  ритмбокс-плагины
  python3.8-минимальный
  питон3
  python3-uno
  xviewer-плагины
wjandrea avatar
флаг cn
Чтобы было ясно, `python3` является важным. Если вы запустите `apt rdepends --installed python3`, вы увидите огромный список, например `gnome-shell` и `ubuntu-minimal`.
Dion avatar
флаг cn
@wjandrea Является ли `python3` не просто символической ссылкой, указывающей на определенную версию, например. `python3 -> python3.8` в OP `ls -l`? Так что теоретически вы можете указать на любую версию `python3.x`, которую захотите. Я говорю теоретически, потому что я не знаю, какие критические изменения в 3.8, 3.9 и 3.10, но я полагаю, что они есть.
wjandrea avatar
флаг cn
Если вы измените символическую ссылку, все сломается, например, [терминал Gnome] (/q/880188/301745). IIRC, это связано с тем, что системные библиотеки, такие как `_gi`, созданы для определенной версии. Плюс есть несколько критических изменений, да (ссылка: [3.9](https://docs.python.org/3/whatsnew/3.9.html#porting-to-python-3-9), [3.10](https ://docs.python.org/3/whatsnew/3.10.html#porting-to-python-3-10)).
Dion avatar
флаг cn
Интересно, спасибо за информацию!

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.