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.