必要に応じて、実行前に元のパラメーターにいくつかの追加パラメーターを追加するスクリプトをos.environ['PATH']
実行できるように修正する必要がありました。dir\to\fake\python.cmd
また、2 つの Python スクリプトがあります。
test1.py:
# ...
p = subprocess.call("test2.py") # shell=True works fine
# ...
test2.py:
# ...
print "Hello from test2.py"
# ...
python test1.py
「偽物」を実行するpython.cmd
と、元のpythonが参照され、追加の引数c:\Python25
で実行されます。test1.py
しかし、悲しいことにtest2.py
、スクリプトは呼び出されません。私が引数shell=True
として置く場合subprocess.call
- すべての罰金test2.py
は、呼び出されます。
c:\Python25
Windowsは、デフォルトで実際の作業ディレクトリで呼び出しに使用するPythonインタープリターを見つけようとしてshell=False
います。
test1.py
あなたへの質問は、と のコードを変更せずに目標を達成するにはどうすればよいtest2.py
ですか? virtualenv
この場合、ライブラリが非常に役立つのではないでしょうか。
ご助力ありがとうございます