2 votes

Créer une application Python/py2app qui ouvre simplement un terminal au lancement ?

J'ai écrit une belle application Python qui est essentiellement un proxy HTTP pour les modems SMS, et j'aimerais en faire une application double-cliquable sur les Macs. Jusqu'à présent, j'ai inclus un fichier .commmand qui est double-cliquable, et qui consiste essentiellement en

cd `dirname $0`
(sleep 8;open http://127.0.0.1:8080/)&
mac/slingshotsms.app/Contents/MacOS/slingshotsms

Comment puis-je faire en sorte que l'exécutable .app principal appelle un endroit différent / ou quel est le moyen le plus simple de créer une application qui est essentiellement une enveloppe pour un utilitaire de terminal et qui n'affiche que sa sortie ? Actuellement, un double-clic sur l'application utilise l'utilitaire open sur les Macs - je veux émuler le comportement du double-clic sur Contents/MacOS/slingshotsms lorsque l'on double-clique sur l'icône de l'application. des conseils ?

2voto

Matt Anderson Points 7461

Si vous cherchez la facilité, essayez de donner à votre script de python une valeur de .command et assurez-vous qu'il est exécutable. Par exemple :

#!/usr/bin/env python
# file: hello.command

print 'hello world'

Si vous cherchez à vous perfectionner, vous voudrez probablement en savoir plus sur les services de lancement, PyObjC, Interface Builder, les fichiers NIB, les wrappers d'applications et toutes sortes de détails technologiques spécifiques à Mac OS X. Notez toutefois qu'il est pratiquement impossible d'utiliser PyObjC pour des tâches non triviales sans savoir déjà, plus ou moins, comment effectuer la même tâche en utilisant les API Cocoa de l'Objective-C. PyObjC est une enveloppe assez fine autour de ces API, et vous devez connaître les idiomes et les modèles de conception de Cocoa pour comprendre comment les pièces mobiles s'emboîtent les unes dans les autres.

1voto

cobbal Points 37900

Si vous n'avez pas besoin d'un terminal, mais que vous souhaitez simplement une application autour d'un script, jetez un coup d'œil à L'ornithorynque

0voto

Azeem.Butt Points 5418

Écrivez une application AppleScript qui lance Terminal et exécute votre script Python (qui se trouvera dans le bundle de l'application).

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