Babel: компилировать файлы перевода при вызове setup.py install

Я разрабатываю приложение Flask, используя Babel. БлагодаряИнтеграция Distutils / Setuptoolsвсе параметры функций compile / extract / ... хранятся вsetup.cfg и компилировать файлы i18n так же просто, как

./setup.py compile_catalog

Отлично. Теперь я хотел бы, чтобы это было сделано автоматически при запуске

./setup.py install

Вmakeслова, которые позволятinstall цель зависит отcompile_catalog цель.

Контекст

Мы храним только перевод (.po) файлы в хранилище кода..gitignore исключает.mo а также.pot файлы от отслеживания.

Когда разработчик тянет новую версию кода, он запускает

pip install -r requirements.txt

обновить зависимости и установить проект в режиме разработки. Затем, используя приведенную выше командную строку, он компилирует бинарный файл перевода (.mo) файлы.

Есть ли простой и рекомендуемый способ изменитьsetup.py сделать обе операции за один шаг? Или я пытаюсь злоупотреблятьsetuptools?

Использование такого сценария будет работать в целях разработки:

#!/bin/sh
./setup.py compile_catalog
pip install -r requirements.txt

но я хотел бы решение, которое также работает, когда пакет установлен с обычнымsetup.py инструкции по установке, как если бы они были установлены из PyPi.

Должен ли я понять, чтоsetuptools не предназначены для такого использования, и люди, распространяющие программное обеспечение, компилируют свои файлы переводов вручную или с помощью пользовательских сценариев при создании своих архивов, а не полагаются наsetup.py скомпилировать их во время установки?

Я не нашел много постов в Интернете, посвященных этому. Те, кого я нашел, занимались бегомpybabel интерфейс командной строки из функции вsetup.pyЭто звучит как позор, так как не попадает в точку интеграции с setuptools.

Ответы на вопрос(1)

Ваш ответ на вопрос