15

YUIDOC を使用してドキュメントの生成を自動化しようとしていますが、Python を多用するサーバー側フレームワークがあるため、Python スクリプト内からすべてを自動化しようとしています。node コマンドを正常に実行することはできますが、npm を使用してインストールしたものを試すたびに、python は満足しません。私のプロジェクトでは virtualenv の代わりに Buildout を使用していますが、理想的にはこれらのコマンドをスタンドアロンの Python ファイルから実行できるようにしたいと考えています。

おそらく、いくつかのコードが私の状況を説明するのに役立つでしょう:

import subprocess
subprocess.check_call('node --help')

#SUCCESS

import subprocess
subprocess.check_call('npm --help')

#FAIL
#WindowsError: [Error 2] The system cannot find the file specified

import subprocess
subprocess.check_call('yuidoc --help')

#FAIL
#WindowsError: [Error 2] The system cannot find the file specified

yuidoc と npm が存在するフォルダーを python の sys.path に追加しようとしましたが、うまくいきませんでした。

ps、これはこの質問と似たような質問です。

4

1 に答える 1

23

shell=Truecheck_call で指定する必要がありました。

subprocess.check_call('npm --help', shell=True)

subprocess.check_call('yuidoc --help', shell=True)
于 2015-03-06T16:53:56.483 に答える