scons 不使用 PATH 进行 ParseConfig

scons not using PATH for ParseConfig

我有一个简单的 SConstruct 文件,其中包含以下内容:

env = Environment()
env.ParseConfig('sdl2-config --cflags')

当我运行它时,出现以下错误:

$scons
scons: Reading SConscript files ...
/bin/sh: sdl2-config: command not found

但是,我可以从同一个 shell 运行 sdl2-config:

$ sdl2-config --cflags
-I/opt/local/include/SDL2 -D_THREAD_SAFE
$ which sdl2-config
/opt/local/bin/sdl2-config

我需要做些什么才能让 scons 使用我的 PATH? 我在 MacOS 10.9.5 上,使用 MacPorts 安装的 scons 2.3.4。

是的。 SCons 默认不使用用户的路径。您需要将 PATH 显式传递给环境:

import os
env = Environment(ENV = {'PATH' : os.environ['PATH']})

参见SCons FAQ