2010-12-14 74 views
1

J'ai écrit un petit script Python qui enveloppe notre compilateur binaire (cl.exe, le compilateur Microsoft Visual Studio C++). J'ai ensuite créé un nouveau fichier batch cl.bat qui rend ce script Python accessible afin que je puisse exécuter cl comme avant et il appellera silencieusement mon script wrapper au lieu du vrai programme. Pour ce que ça vaut la peine, voici mon fichier batch cl.bat:Comment puis-je faire un script Python un drop-in pour un exécutable Windows?

@python %~dp0\wrapcl.py %* 

Cela fonctionne très bien - sauf dans un cas:

Nous avons des scripts existants qui font quelque chose comme

cl >NUL 2>&1 && GOTO CL 

pour déterminer si le compilateur Microsoft Visual Studio C++ est disponible. Cela casse si cl appelle réellement mon fichier de commandes cl.bat puisque l'appel à cl.bat ne retourne jamais. Nous devrions utiliser call cl >NUL ... pour cela.

Est-il possible que je peux faire mon wrapcl.py script Python regarder comme cl.exe pour les appelants afin que je puisse éviter de toucher nos scripts existants qui attendent cl && foo à travailler?

Répondre

1

Une possibilité consiste à compiler votre code python en tant qu'exécutable en utilisant py2exe. Voici un lien: py2exe