でsubprocess.Popenを呼び出すときに、私はいくつかのファイルをマージするsvnmerge.pyを使用しようとしている「システムは指定されたファイルを見つけることができません」。フードの下では、Pythonを使用しています。使用すると、「指定されたファイルが見つかりません」というエラーが表示されます。仕事中の同僚は、同じバージョンのsvnmerge.pyとPython(2.5.2、特にr252:60911)を問題なく実行しています。のpython
私は私の問題を説明している、this linkを発見しました。そこに概説されたものをしようと、私はPythonはSVN(それは私のパスにあります)見つけることができる確認:
svnmerge.pyコードを見てみるとP:\>python Python 2.5.2 (r252:60911, Feb 21 2008, 13:11:45) [MSC v.1310 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import os >>> i,k = os.popen4("svn --version") >>> i.close() >>> k.readline() 'svn, version 1.4.2 (r22196)\n'
を、しかし、私はそれが別の実行を次れたPythonのバージョン2.4以降で気づきましたパス。むしろ os.popen4を呼び出すよりも、()、それはsubprocess.Popenを使用しています()。それがエラーを再現しよう:
C:\>python Python 2.5.2 (r252:60911, Feb 21 2008, 13:11:45) [MSC v.1310 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import subprocess >>> p = subprocess.Popen("svn --version", stdout=subprocess.PIPE, >>> close_fds=False, stderr=subprocess.PIPE) Traceback (most recent call last): File "", line 1, in File "C:\Python25\lib\subprocess.py", line 594, in __init__ errread, errwrite) File "C:\Python25\lib\subprocess.py", line 816, in _execute_child startupinfo) WindowsError: [Error 2] The system cannot find the file specified >>>
を今のところ、私は2.4と、高い固有のコードをコメントアウトしましたが、私は適切な解決策を見つけるしたいと思います。
それは明白でなければ、私は完全なPythonの初心者だけど、Googleは役立っていません。すべてのポインタ?