首页 > 解决方案 > 无法从 docker-compose 生成 django.po 文件

问题描述

我在 docker-container 中使用 Django 3.0.5,链接到 Postgres-container。

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

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

我收到了这个错误:

命令错误:找不到 msguniq。确保您安装了 GNU gettext 工具 0.15 或更新版本。

同时,当我直接访问我的容器时,它可以工作:(这里ad2b13f2fe87是我的 django-container 的 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

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

标签: pythondjangodocker

解决方案


没关系,我发现了问题。

默认情况下,我用作 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文件已正确生成。


推荐阅读