如何在SCons配置中运行外部脚本

时间:2013-01-14 09:36:08

标签: python scons

我有一个脚本(Python),用于检查我是否安装了正确的模块以及它们是否是最新的 - 至少是某个版本。我想在scons Configure阶段运行此脚本。我试过像:

print 'Configuring... '
conf = Configure(env)
print 'Checking Python modules ', 
ret = conf.TryRun("""#!/usr/bin/env python
print 'ook' # test
import my_script
my_script.run()
""", '.py')
if ret == (0, ''):
    print 'Fail'
    sys.exit(2)
env = conf.Finish()

但我得到的只是(0, ''),这意味着TryRun失败但我不明白为什么它会失败!知道我做错了什么吗?

1 个答案:

答案 0 :(得分:0)

这可以解决问题,但不是很优雅:

from subprocess import call
if call(os.path.join(os.getcwd(), 'my_script.py')):
    sys.exit(2)

我仍在寻找更优雅的解决方案。