【问题标题】:Docker "unsupported locale setting" when running Python container运行 Python 容器时 Docker “不支持的语言环境设置”
【发布时间】:2026-01-13 18:40:01
【问题描述】:

当我在 docker 中尝试“docker run -p 8050:8050 app1”时,我得到:

Traceback (most recent call last):
File "app1.py", line 6, in <module>
locale.setlocale(locale.LC_ALL, 'en_US.UTF-8')
File "/usr/local/lib/python3.6/locale.py", line 598, in setlocale
return _setlocale(category, locale)

我的 dockerfile 看起来像这样:

FROM python:3.6
USER root
WORKDIR /app
ADD . /app
RUN apt-get update && apt-get -y install locales
RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
RUN pip install --trusted-host pypi.python.org -r requirements.txt
EXPOSE 8050
ENV NAME World
CMD ["python", "app1.py"]

如何在 app1.py 中设置本地语言而不出现此错误? 提前谢谢

PS:已经重启了docker。

【问题讨论】:

    标签: python python-3.x docker


    【解决方案1】:

    这对我有用

    RUN apt-get install -y locales
    RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/'        /etc/locale.gen \
     && sed -i -e 's/# pt_BR.UTF-8 UTF-8/pt_BR.UTF-8 UTF-8/' /etc/locale.gen \
     && locale-gen
    

    【讨论】:

    • 也为我解决了这个问题,以 python:3-7-slim-buster 为基础的 Django 容器。