94 votes

Comment puis-je appeler "git pull" à partir de Python ?

En utilisant les webhooks de Github, j'aimerais être en mesure d'extraire toute modification vers un serveur de développement distant. Pour l'instant, lorsque dans le répertoire approprié, git pull obtient tout changement qui doit être fait. Cependant, je n'arrive pas à trouver comment appeler cette fonction depuis Python. J'ai essayé ce qui suit :

import subprocess
process = subprocess.Popen("git pull", stdout=subprocess.PIPE)
output = process.communicate()[0]

Mais cela donne lieu à l'erreur suivante

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
    errread, errwrite)
  File "/usr/lib/python2.7/subprocess.py", line 1249, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory

Existe-t-il un moyen d'appeler cette commande bash depuis Python ?

-2voto

orip Points 28225

Essayez :

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X