我正在尝试安装python3.9
在基于 ubuntu:20.04 的 Dockerfile 中。当我手动运行时apt -y install python3.9
,它会提示我输入与我的时区相对应的地理区域和城市。对我来说,这分别对应于选项 2 和 106(即纽约)。然而,当我跑步时
echo '2\n106' | apt -y install python3.9
apt
输出
Use of uninitialized value $_[1] in join or string at /usr/share/perl5/Debconf/DbDriver/Stack.pm line 111, <STDIN> line 1.
Current default time zone: '/UTC'
如何apt
正确输入输入值?
在环境中运行该
apt install
步骤:DEBIAN_FRONTEND=noninteractive
这将避免在安装过程中出现任何交互式提示。然后,当包及其依赖项安装完成后,单独配置时区。
或者,在安装 Python 包之前设置时区,从而无需设置
DEBIAN_FRONTEND
任何内容。使用以下命令来设置时区,以创建指向纽约时区数据的符号链接:
如果您是从容器中的交互式 shell 运行的话。在 Dockerfile 中,
DEBIAN_FRONTEND
无论您以什么顺序执行这两件事,您都可以在不设置变量的情况下获得非交互式包安装。注意使用 而
apt-get
不是apt
.apt
用于交互式 shell,同时也apt-get
可用于脚本。