python - Fai subprocess trovare git eseguibile su Windows




path (2)

Credo che tu debba passare env a Popen, qualcosa del tipo:

import subprocess, os
proc = subprocess.Popen('git status', env=os.environ, stdout=subprocess.PIPE)

Dovrebbe fare il trucco.

import subprocess

proc = subprocess.Popen('git status')
print 'result: ', proc.communicate()

Ho git nel mio percorso di sistema, ma quando eseguo un sottoprocesso come questo ottengo:
WindowsError: [Error 2] The system cannot find the file specified

Come posso ottenere il sottoprocesso per trovare git nel percorso di sistema?

Python 2.6 su Windows XP.


Intendi

proc = subprocess.Popen(["git", "status"], stdout=subprocess.PIPE)

Il primo argomento di subprocess.Popen prende una lista di argomenti shlex.split .

o:

proc = subprocess.Popen("git status", stdout=subprocess.PIPE, shell=True)

Questo non è raccomandato, dato che stai lanciando una shell, quindi avviando un processo nella shell.

Inoltre, dovresti usare stdout=subprocess.PIPE per recuperare il risultato.







subprocess