2017-09-07 4 views
0

J'ai un tas de scripts Python3 utiles que j'utilise dans différents environnements de système d'exploitation. Ils fonctionnent bien lorsqu'ils sont appelés depuis le terminal, mais je veux les exécuter depuis Windows Explorer et OSX Finder. Dans Windows, ce n'est pas un problème car les fichiers * .py sont associés à l'interpréteur installé.Script Python pouvant s'exécuter depuis OSX Finder et Windows Explorer

Pour OSX, j'ai quelques problèmes. J'ai essayé d'utiliser la ligne Shebang.

#!/usr/bin/python3 

Mais le Finder ne le reconnaît pas comme un script. Comment faire pour que Finder reconnaisse les fichiers * .py en tant que scripts? Je suis intéressé par une portabilité maximale avec le moins de modifications possible du système d'exploitation.

J'ai également spécifié explicitement l'emplacement de l'interpréteur ci-dessus. Il sera dans des endroits différents pour différents systèmes d'exploitation. Y at-il un moyen de le rendre multi-OS de sorte que s'il ne le trouve pas dans un endroit, il en essayera un autre? Dites si je veux l'exécuter depuis l'un des gestionnaires de fichiers GUI d'Ubuntu.

EDIT: Voici plus d'informations sur mon cas d'utilisation. Je veux aller à un nouvel ordinateur et git cloner mon repo des manuscrits de Python3 et être capable de les exécuter à partir du gestionnaire de fichiers d'interface graphique avec des changements minimes au nouvel ordinateur.

+0

Votre titre dit finder iOS BTW, changement qui à osx ou bien vous confondez les gens (comme moi) – SitiSchu

+0

Im pas Bien sûr, mais je pense que vous devez exécuter 'chmod + x fichier' pour le rendre exécutable – SitiSchu

+0

Merci. J'ai corrigé le titre. Je veux l'associer à tous * .py pas seulement un fichier. – Spinor8

Répondre

1

Pour rendre le script plus portable, utilisez #!/usr/bin/env python3 comme shebang. L'effet secondaire sera que se déroulera le premier interprète python3 il trouve dans le $ PATH (Unix StackExchange question on that subject)


Pour exécuter le script à partir du Finder essayer de chmod le fichier. à savoir chmod +x FILE


trouvé une autre possibilité ici: Link to the Blog

  1. Faire ce la première ligne de votre script Python
  2. Modifier l'extension du "#/usr/bin/env python!" script dans ".command" ie my_python_script.command
  3. Dans Terminal, exécutez le fichier de script Python en exécutant "chmod + x my_python_script.command"
  4. Maintenant, lorsque vous double-cliquez sur le script Python dans le Finder, il ouvrira une fenêtre de terminal et exécutera.

Alternative j'ai trouvé serait cela, mais il a besoin de modification du système: Superuser question

+0

Merci pour votre réponse. Cela ne répond pas complètement à la question. J'ai ajouté plus d'informations sur mon cas d'utilisation. – Spinor8

+0

J'ai mis à jour la réponse avec une autre possibilité – SitiSchu

+0

J'ai aussi trouvé les derniers liens plus tôt. Le renommer en * .command n'est pas idéal car le script ne sera pas reconnu sur Windows alors. Il semble que la meilleure approche serait d'écrire un fichier bash qui traverse l'ensemble du répertoire chmod'ing tous les fichiers * .py. De cette façon, j'arrive à un nouvel ordinateur, git le clone, puis lance le script bash pour tout installer. – Spinor8