【发布时间】:2015-10-07 06:48:19
【问题描述】:
我将 Makefiles 用于 Python 项目。我需要在每个 Makefile 中包含一些 Python 配置变量,并且 Makefile 可能驻留在项目根目录内的各种子目录中(尽管深度不超过一层)。
在项目的根目录中,我创建了一个 Makefile.inc,例如,内容如下:
define PYSCRIPT
from lib.custommodule import VAR1
print(VAR1)
endef
VAR1 := $(shell python -c '$(PYSCRIPT)')
'custommodule' 位于项目的 Python lib 目录根目录中,并且包含 Makefile.inc 的所有顶级 Makefile 都可以正常执行。
在“子目录/Makefile”中,我有:
include ../Makefile.inc
echo $(VAR1)
当我cd subdirectory && make 时,我收到错误:
ImportError: No module named custommodule
我尝试在“Makefile.inc”(在 define PYSCRIPT 块中)中添加 Python 路径以包含父目录,认为“子目录/Makefile”正在执行“../Makefile.inc”自己的路径与其父路径,但这也不起作用。
我是否遗漏了一些阻止它工作的东西?或者有没有更好的方法来实现我想要的?
【问题讨论】:
标签: python-2.7 makefile