我在一个docker-container中使用Django 3.0.5,连接到一个Postgres-container。
我想生成django.po文件,但当我尝试使用这个命令时:
docker-compose run web python3 manage.py makemessages -l en
我得到了这个错误:
CommandError:找不到msguniq。确保您安装了GNU gettext tools 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
有人能给我解释一下这是什么问题吗?谢谢你。
2条答案
按热度按时间qco9c6ql1#
没关系,我找到问题了。
默认情况下,我作为Django使用的Python镜像不会更新。
在我的Python(Django)
Dockerfile
中,我刚刚添加了:在我的
requirements.txt
中,我还添加了以下内容:现在,命令
docker-compose run <python-django-service> python3 manage.py makemessages -l en
起作用了,我的django.po
文件正确生成了。lvjbypge2#
当我试图在我的容器enter image description here中安装gettext包时,我也遇到了同样的问题
为了解决这个问题,我在我的DockerFile中添加了这两行:
而且效果很好