Estou tentando instalar python3.9
em um Dockerfile baseado em ubuntu:20.04. Quando executo apt -y install python3.9
manualmente, ele solicita a área geográfica e a cidade correspondente ao meu fuso horário. Para mim, isso corresponde às opções 2 e 106 (ou seja, Nova Iorque), respectivamente. Porém, quando corro
echo '2\n106' | apt -y install python3.9
apt
saídas
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'
Como alimentei apt
os valores de entrada corretamente?
Execute a
apt install
etapaDEBIAN_FRONTEND=noninteractive
no ambiente:Isso evitará avisos interativos durante o processo de instalação. Em seguida, configure o fuso horário separadamente quando o pacote e suas dependências terminarem a instalação.
Como alternativa, configure o fuso horário antes de instalar o pacote Python, eliminando a necessidade de definir
DEBIAN_FRONTEND
qualquer coisa.O fuso horário é configurado usando o seguinte comando para criar um link simbólico para os dados do fuso horário de Nova York:
Isso se você estiver executando a partir de um shell interativo no contêiner. Em um Dockerfile, você obtém a instalação de pacotes não interativos sem definir a
DEBIAN_FRONTEND
variável, independentemente da ordem em que você faz essas duas coisas.Observe o uso de
apt-get
em vez deapt
.apt
é para uso em shells interativos, masapt-get
pode ser usado em scripts.