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 に答える