我试图使用svnmerge.py来合并一些文件。底下它使用python,当我使用它时,我得到一个错误 - “系统找不到指定的文件”。工作中的同事正在运行相同版本的svnmerge.py,以及python(2.5.2,特别是r252:60911)而没有问题。我发现了this link,它描述了我的问题。想什么概述那里,我证实了Python中可以找到SVN(这是我的路径中):“系统无法找到指定的文件”当调用Python中的subprocess.Popen
P:\>python
Python 2.5.2 (r252:60911, Feb 21 , 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'
望着svnmerge.py码,不过,我注意到了Python版本2.4或更高,这是继一不同的执行路径。它使用subprocess.Popen()而不是调用 os.popen4()。尝试再现错误:
C:\>python
Python 2.5.2 (r252:60911, Feb 21 , 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新手,但谷歌没有帮助。任何指针?
-08-30
Hobo