【发布时间】:2018-10-09 07:50:12
【问题描述】:
我有一个基于 Makefile 的项目和一些创建绘图文件的 python 脚本,例如(在我的 Makefile 中)
plot.pdf: my_script.py
python my_script.py -o $@
通常这些脚本依赖于数据,例如my_data.txt,所以我将它添加到我的 Makefile 中
plot.pdf: my_script.py my_data.txt
python my_script.py -o $@
这很麻烦,因为我需要让 Makefile 和 python 脚本保持同步。所以我切换到从 python 脚本中导出 Make 规则:
plot.pdf: my_script.py
python my_script.py -o $@ --make-mode
--make-mode 将编写一个 Makefile 来说明 plot.pdf 对 my_data.txt 的依赖关系。我的 Makefile 设置为获取所有这些自动生成的 Makefile。
为了在我更改我的 python 脚本时支持增量构建,我声明了 plot.pdf 对 my_script.py 的依赖关系。但是my_script.py也依赖于我写的其他python脚本。如果我更改这些脚本,例如utils.py,我的文件plot.pdf 不会更新。 有没有办法从 python 中获取导入的 python 脚本的文件路径,以便我可以将它们添加到我的自动生成的 Makefile 中?或者你能推荐一种替代方法吗?
【问题讨论】:
-
您可能还对pydoit.org 工具感兴趣。这是一个类似make的系统,可以通过python进行编程。
-
pydoit 看起来确实很有趣,我会在下一个项目中考虑它。