我在链接到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
文件已正确生成。