为什么Ubuntu 20.04上的Vim需要Python 3?

我正在使用Docker,我的dockerfile如下:
######################################################
FROM ubuntu:20.04

WORKDIR /opt/test

# Apt installs
RUN apt update

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

如果我构建并运行容器,然后运行以下命令,它会要求安装python3-minimal和Python依赖项。
$ docker run -it ubuntu-test
root@3a13a90d3e86:/opt/test# apt install vim
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  alsa-topology-conf alsa-ucm-conf file 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-support readline-common sound-theme-freedesktop vim-common vim-runtime xxd xz-utils
Suggested packages:
  libasound2-plugins alsa-utils libcanberra-gtk0 libcanberra-pulse gpm readline-doc ctags vim-doc vim-scripts
The following NEW packages will be installed:
  alsa-topology-conf alsa-ucm-conf file 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-support readline-common sound-theme-freedesktop vim vim-common vim-runtime xxd xz-utils
0 upgraded, 30 newly installed, 0 to remove and 25 not upgraded.
Need to get 14.9 MB of archives.
After this operation, 70.6 MB of additional disk space will be used.
Do you want to continue? [Y/n] n

这些文件在列表中: libpython3.8 libpython3.8-minimal libpython3.8-stdlib 为什么Vim需要Python?
(这搞乱了我的Docker镜像,因为我实际上需要Vim,但我也需要32位的Python。所以我需要python3:i386,但是Vim安装64位的Python也搞乱了它)。

1开发者将其列为必需品-https://packages.ubuntu.com/focal/vim - guiverc
9@guiverc 是的,显然是这样,但是为什么呢? - user37216
vim 允许开发者使用当今常用的编程语言 python 添加更多功能(包括扩展)。原始的 vi 是在解释型语言成本过高的年代编写的,因此只有低级编译语言才有意义(1970年代)。 - guiverc
5在Docker镜像中可能不需要vim——vim可以通过网络进行编辑,因此您可以使用系统的vim来编辑容器中的文件。 - D. Ben Knoble
2@D.BenKnoble 我发现如果我安装 vim:i386,它将安装所需的32位库,并且我可以同时拥有两者。 - user37216
3个回答

我猜测包vim应该编译时支持Python。你可以尝试安装包vim-tiny,或许会更好一些。

这在 20.04 版本中并不是新的。在 18.04(当然是使用 Python 3.6) 中也是一样的情况。而且在 16.04 中,一旦修复了一个回归问题LP #1574897),就会出现相同情况。甚至在 12.04 版本中,vim 依赖于 Python(当时是 2.7 版本)。这支持在 Vim 内部进行 Python 脚本编写。