用于GIT错误的Python25 Popen命令

时间:2015-11-16 18:03:30

标签: python git

我目前正在使用子流程开展GIT自动化。这对我来说是新的。尝试如下所示的基本状态调用,但不断收到错误。

from subprocess import Popen, PIPE
import os
import subprocess
PIPE = subprocess.PIPE
branch = "C:/git-repos/Myfolder"
process = subprocess.Popen(["git status", branch], stdout=PIPE, stderr=PIPE)
stdoutput, stderroutput = process.communicate()
if 'fatal' in stdoutput:print "error"
else:print "Successful"

错误消息::

Traceback (most recent call last):
  File "gitscript.py", line 9, in <module>
process = subprocess.Popen(["git status", branch], stdout=PIPE, stderr=PIPE)
 File "C:\Python25\Lib\subprocess.py",
line 594, in __init__
errread, errwrite)
 File "C:\Python25\Lib\subprocess.py",
line 818, in _execute_child
startupinfo)
WindowsError: [Error 2] The system cannot find the file specified

我做错了什么?注意:Myfolder是本地GIT仓库。它不是任何主回购的克隆。

按照以下评论后更新了我的问题::

process = subprocess.Popen(["git status", branch], stdout=PIPE, stderr=PIPE, shell=True)
stdoutput, stderroutput = process.communicate()
if 'fatal' in stderroutput:print "error"
else:print "Successful"   

1)输出为“成功”。标准打印显示空白。而bash上的命令(git status)工作正常,打印出状态。

2)作为项目的一部分,我必须使用Python25,Windows和GIT版本是1.9。

3)由于子进程不起作用。我试着安装Gitpython。安装不适用于python25。 “setup.py”文件没有列出python25并且一直在丢失导入文件时抛出错误。

请求有关如何处理此问题的任何想法或建议。使用当前的环境设置,我可以使用python实现自动化吗?

请帮助!

0 个答案:

没有答案