0

我有一个脚本(Python)来检查我是否安装了正确的模块以及它们是否是最新的——至少是某个版本。我想在 scons配置阶段运行这个脚本。我试过类似的东西:

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 失败了,但我看不出它为什么会失败!关于我做错了什么的任何想法?

4

1 回答 1

0

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

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

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

于 2013-01-14T10:48:13.567 回答