2010-03-12 4 views
2

Je dois obtenir un chemin vers le GIT sur Max OS X 10.6 en utilisant Python 2.6.1 dans les variables de script. J'utilise ce code pour que:Comment obtenir le chemin vers le GIT installé en Python?

r = subprocess.Popen(shlex.split("which git"), stdout=subprocess.PIPE) 
print r.stdout.read() 

mais le problème est que la production est vide (j'ai essayé stderr aussi). Cela fonctionne bien avec d'autres commandes telles que pwd ou ls.

Quelqu'un peut-il m'aider avec ça?

MISE À JOUR: Quand je lance which git du Terminal, il imprime chemin comme prévu. Donc, which peut le trouver.

MISE À JOUR 2: Je viens de créer le script bash

#!/usr/bin/env bash 
GP=`/usr/bin/which git` 
PWD=`pwd` 
echo "PATH IS: ${GP}" 
echo "PWD IS: ${PWD}" 

et la sortie est

PATH IS: 
PWD IS: /Users/user/tmp 
+0

Ce que vous avez fonctionne bien pour moi (même si je ne suis pas sur OS X). Est-ce que les deux nouvelles lignes (une de * qui *, une d'impression) pourraient vous causer des problèmes? –

Répondre

2

Tout ce qui fait itérer sur les répertoires dans $ PATH, vérifier si le fichier est là . Il suffit d'écrire une petite méthode pour faire de même.

+0

Je viens d'ajouter une "mise à jour" à la question. –

+0

* qui * vérifie également si le fichier est exécutable par l'utilisateur courant. –

+0

Oui, le problème était lié à $ PATH qui était différent (pourquoi?) De TextMate et de notre application. –

Questions connexes