我在链接到Postgres容器的docker-容器内使用Django 3.0.5。

我想生成django.po文件,但是当我尝试使用此命令时:

docker-compose run web python3 manage.py makemessages -l en

我收到此错误:



同时,当我直接访问我的容器时,它可以工作:(这里ad2b13f2fe87是我的django容器的ID)

docker exec -it ad2b13f2fe87 bash

root@ad2b13f2fe87:/code# gettext --version
gettext (GNU gettext-runtime) 0.19.8.1
...

root@ad2b13f2fe87:/src# python3 manage.py makemessages -l en
processing locale en

有人可以向我解释一下问题是什么吗?
谢谢。

最佳答案

没关系,我发现了问题。

默认情况下,我用作Django的Python镜像未更新。

在我的Python(Django)Dockerfile中,我刚刚添加了:

RUN apt update
RUN apt install gettext -y

在我的requirements.txt中,我还添加了以下内容:
# i18n
python-gettext==4.0

现在,命令docker-compose run <python-django-service> python3 manage.py makemessages -l en可以工作,并且我的django.po文件已正确生成。

10-08 03:11