2016-05-05 10 views
1

Если я выполнить следующее в Divio Cloud (ранее известный как "Aldryn") проекта:Divio Cloud (ранее "Aldryn"): manage.py makemessages: Не удается найти зная искомых

docker-compose run --rm web python manage.py makemessages

Я получаю:

CommandError: Can't find xgettext. Make sure you have GNU gettext tools 0.15 or newer installed.

  • работает под управлением `manage.py makemessages правильный путь для создания/обновления файлов сообщений на Divio Cloud?

В качестве обходного пути я добавил это к Dockerfile:

# add gettext for manage.py makemessages RUN apt-get update && apt-get install -y gettext

и затем

docker-compose build web

  • Кроме того, будут ли файлы .mo быть составлены на Divio Развертывание облаков или нужно их предварительно скомпилировать?

ответ

4

В настоящее время Aldryn не поддерживает создание файлов .mo для вас. В ожидании самого Aldryn, чтобы обеспечить поддержку для этого из коробки, вы можете обойти эту проблему путем редактирования Dockerfile, как вы уже сделали:

1) К началу, как раз перед # <DOCKER_BUILD>, добавьте следующее команда (как уже отмечалось):

# add gettext for manage.py makemessages 
RUN apt-get update && apt-get install -y gettext && apt-get clean && rm -rf /var/lib/apt/lists/* 

2) на дне, только после # </DOCKER_BUILD>, добавьте следующую команду:

# compile the messages 
RUN DJANGO_MODE=build python manage.py compilemessages 

Редактировать: Если вы используете baseproject> = 3.13.1, шаг 1) больше не нужен.

+0

Странно, но в 'docker-compose build web' Я получаю' CommandError: этот сценарий должен запускаться из проверки Django Git или вашего проекта или дерева приложений или с указанным модулем настроек. ', Что бы я ни пытался. Я получаю ту же ошибку из 'docker-compose run --rm web'. 'pwd' показывает'/app'. Dockerfile: https://gist.github.com/macolo/d7d31b17e3b31becdac39ca6354385dc – Mario

+1

Где ваша папка 'locale'? Mine находится в '/ app/locale', и это единственный, который компилируется. Если посмотреть на источник django, эта ошибка возникает, если в pwd не найдены каталоги locale': https://github.com/django/django/blob/master/django/core/management/commands/compilemessages.py # L69-L81 – GaretJax

+0

Thx для подсказки, действительно, я запутался в сообщении об ошибке. В этом проекте не было папки локалей. Еще раз спасибо. – Mario