我有一个脚本(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失败但我不明白为什么它会失败!知道我做错了什么吗?
答案 0 :(得分:0)
这可以解决问题,但不是很优雅:
from subprocess import call
if call(os.path.join(os.getcwd(), 'my_script.py')):
sys.exit(2)
我仍在寻找更优雅的解决方案。