Рейтинг:13

Почему Vim в Ubuntu 20.04 требует Python 3?

флаг tv

Я использую Docker, и мой докерфайл является:

################################################### ####
ИЗ убунту: 20.04

РАБОЧИЙКАТАЛОГ /opt/test

# Способные установки
ЗАПУСТИТЬ подходящее обновление

################################################### ####

Если я создаю и запускаю контейнер, а затем запускаю следующее, он просит установить python3-minimal и зависимости Python:

$ docker run -it ubuntu-test
root@3a13a90d3e86:/opt/test# apt install vim
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Будут установлены следующие дополнительные пакеты:
  alsa-topology-conf файл alsa-ucm-conf libasound2 libasound2-data libcanberra0 libexpat1 libgpm2 libltdl7 libmagic-mgc libmagic1 libmpdec2 libogg0 libpython3.8 libpython3.8-minimal libpython3.8-stdlib libreadline8 libsqlite3-0
  libssl1.1 libtdb1 libvorbis0a libvorbisfile3 mime-поддержка readline-общая звуковая тема-свободный рабочий стол vim-common vim-runtime xxd xz-utils
Предлагаемые пакеты:
  libasound2-plugins alsa-utils libcanberra-gtk0 libcanberra-pulse gpm readline-doc ctags vim-doc vim-scripts
Будут установлены следующие НОВЫЕ пакеты:
  alsa-topology-conf файл alsa-ucm-conf libasound2 libasound2-data libcanberra0 libexpat1 libgpm2 libltdl7 libmagic-mgc libmagic1 libmpdec2 libogg0 libpython3.8 libpython3.8-minimal libpython3.8-stdlib libreadline8 libsqlite3-0
  libssl1.1 libtdb1 libvorbis0a libvorbisfile3 mime-поддержка readline-общая звуковая тема-свободный рабочий стол vim vim-common vim-runtime xxd xz-utils
0 обновлено, 30 установлено заново, 0 удалено и 25 не обновлено.
Нужно получить 14,9 МБ архивов.
После этой операции будет использовано 70,6 МБ дополнительного дискового пространства.
Вы хотите продолжить? [Д/н] н

Эти файлы находятся в списке: libpython3.8 libpython3.8-минимальный libpython3.8-stdlib

Почему Vim требует Python?

(Это портит мой образ Docker, потому что на самом деле мне нужен Vim, но мне также нужен 32-битный Python. Поэтому мне нужен python3: i386, но Vim портит его, устанавливая и 64-битный Python).

guiverc avatar
флаг cn
Разработчик указал это как необходимое - https://packages.ubuntu.com/focal/vim
user37216 avatar
флаг tv
@guiverc да, очевидно, но *почему*?
guiverc avatar
флаг cn
`vim` предоставляет больше функций (включая расширения), которые разработчик добавил с помощью `python`, который сегодня является распространенным языком. Первоначальный `vi` был написан в дни, когда стоимость интерпретируемых языков была слишком высока, поэтому имели смысл только компилируемые языки низкого уровня (1970-е годы).
D. Ben Knoble avatar
флаг lk
Вам может не понадобиться vim в образе докера — vim может редактировать по сети, поэтому вы можете использовать его для редактирования файлов в контейнере через vim вашей системы.
user37216 avatar
флаг tv
@D.BenKnoble Я понял, что если я установлю vim: i386, вместо этого будут установлены необходимые 32-битные библиотеки, и я могу иметь обе.
Рейтинг:26
флаг jp

Я бы предположил, что пакет вим является составлено при поддержке для питона. Возможно, вам повезет больше, установив пакет Vim-крошечный.

Рейтинг:16
флаг us

Это не ново в 20.04. То же самое верно и в 18.04 (конечно, вместо Python 3.6). И в 16.04, один раз регрессия было исправлено (LP № 1574897). Еще в 12.04, в вим упаковка зависел от Python (2.7 в то время). Это поддерживает сценарии Python внутри Vim.

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

Разработчик указал это как необходимое - https://packages.ubuntu.com/focal/vim

Ваш вариант также может заключаться в использовании ви вместо

https://packages.ubuntu.com/focal/nvi

который не показывает требования python3.

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

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