【发布时间】:2016-10-14 19:57:50
【问题描述】:
我正在使用 Babel 开发一个 Flask 应用程序。感谢Distutils/Setuptools Integration,编译/提取/...函数的所有参数都存储在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 在安装时编译它们时间?
我在 Internet 上没有找到很多解决此问题的帖子。我发现其中涉及从setup.py 中的函数运行pybabel 命令行界面,这听起来很可惜,因为它错过了setuptools 集成的要点。
【问题讨论】:
标签: python setuptools python-babel